# PolygonGeometry

    struct PolygonGeometry

    extension PolygonGeometry : Equatable, Hashable

Represents the geometry definition for a polygon with an outer boundary and optional inner
boundaries.

    Map(mode: .hybrid) {
      Polygon(
        geometry: PolygonGeometry(path: [
          .init(latitude: 37.7749, longitude: -122.4194, altitude: 100),
          .init(latitude: 37.7750, longitude: -122.4193, altitude: 100),
          .init(latitude: 37.7751, longitude: -122.4192, altitude: 100),
        ])
      )
    }

- `


  ### [==(_:_:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV2eeoiySbAC_ACtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (a: PolygonGeometry, b: PolygonGeometry) -> Bool

- `


  ### [hash(into:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [hashValue](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV9hashValueSivp)


  ` The hash value.

  Hash values are not guaranteed to be equal across different executions of
  your program. Do not save hash values to use during a future execution.
  Important
  `hashValue` is deprecated as a `Hashable` requirement. To conform to `Hashable`, implement the `https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry.html#/s:12GoogleMaps3D15PolygonGeometryV4hash4intoys6HasherVz_tF` requirement instead. The compiler provides an implementation for `hashValue` for you.

  #### Declaration

  Swift

      var hashValue: Int { get }

- `


  ### [init(innerPaths:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV10innerPathsACSaySayAA14LatLngAltitudeVGG_tcfc)


  ` Creates a polygon geometry representing the whole earth with cut-outs for the inner paths.

  #### Declaration

  Swift

      init(innerPaths: [[https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html]] = [])

  #### Parameters

  |---|---|
  | ` innerPaths ` | Inner boundary of the polygon. A Polygon can contain multiple inner paths, which create multiple cut-outs inside the polygon. |

- `


  ### [init(path:innerPaths:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV4path10innerPathsACSayAA14LatLngAltitudeVG_SayAHGtcfc)


  ` Creates a polygon geometry with outer and inner boundaries.

  If `https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry.html#/s:12GoogleMaps3D15PolygonGeometryV4pathSayAA14LatLngAltitudeVGvp` is empty, this polygon geometry will cover the whole earth with cut-outs for the
  inner paths.

  #### Declaration

  Swift

      init(path: [https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html], innerPaths: [[https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html]] = [])

  #### Parameters

  |---|---|
  | ` path ` | Outer boundary of the polygon. |
  | ` innerPaths ` | Inner boundary of the polygon. A Polygon can contain multiple inner paths, which create multiple cut-outs inside the polygon. |

- `


  ### [innerPaths](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV10innerPathsSaySayAA14LatLngAltitudeVGGvp)


  ` Inner boundary of the polygon. A Polygon can contain multiple inner paths,
  which create multiple cut-outs inside the polygon.

  #### Declaration

  Swift

      let innerPaths: [[https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html]]

- `


  ### [path](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/PolygonGeometry#/s:12GoogleMaps3D15PolygonGeometryV4pathSayAA14LatLngAltitudeVGvp)


  ` Outer boundary of the polygon.

  #### Declaration

  Swift

      let path: [https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html]