# GoogleMaps Framework Reference

# GMSGroundOverlay

    @interface GMSGroundOverlay : https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSOverlay.html

`GMSGroundOverlay` specifies the available options for a ground overlay that exists on the
Earth's surface. Unlike a marker, the position of a ground overlay is specified explicitly and it
does not face the camera.
- `


  ### [position](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)position)


  ` The position of this `GMSGroundOverlay`, or more specifically, the physical position of its
  anchor. If this is changed, `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)bounds` will be moved around the new position.

  #### Declaration

  Swift

      var position: CLLocationCoordinate2D { get set }

  Objective-C

      @property (nonatomic) CLLocationCoordinate2D position;

- `


  ### [anchor](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)anchor)


  ` The anchor specifies where this `GMSGroundOverlay` is anchored to the Earth in relation to
  `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)bounds`. If this is modified, `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)position` will be set to the corresponding new position within
  `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)bounds`.

  #### Declaration

  Swift

      var anchor: CGPoint { get set }

  Objective-C

      @property (nonatomic) CGPoint anchor;

- `


  ### [icon](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)icon)


  ` Icon to render within `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)bounds` on the Earth. If this is nil, the overlay will not be visible
  (unlike `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMarker.html` which has a default image).

  #### Declaration

  Swift

      var icon: UIImage? { get set }

  Objective-C

      @property (nonatomic, nullable) UIImage *icon;

- `


  ### [opacity](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)opacity)


  ` Sets the opacity of the ground overlay, between 0 (completely transparent) and 1 (default)
  inclusive.

  #### Declaration

  Swift

      var opacity: Float { get set }

  Objective-C

      @property (nonatomic) float opacity;

- `


  ### [bearing](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)bearing)


  ` Bearing of this ground overlay, in degrees. The default value, zero, points this ground overlay
  up/down along the normal Y axis of the earth.

  #### Declaration

  Swift

      var bearing: CLLocationDirection { get set }

  Objective-C

      @property (nonatomic) CLLocationDirection bearing;

- `


  ### [bounds](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(py)bounds)


  ` The 2D bounds on the Earth in which `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)icon` is drawn. Changing this value will adjust `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)position`
  accordingly.

  #### Declaration

  Swift

      var bounds: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html? { get set }

  Objective-C

      @property (nonatomic, nullable) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html *bounds;

- `


  ### [+groundOverlayWithBounds:icon:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(cm)groundOverlayWithBounds:icon:)


  ` Convenience constructor for `GMSGroundOverlay` for a particular `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)bounds` and `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)icon`. Will set
  `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)position` accordingly.

  #### Declaration

  Swift

      convenience init(bounds: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html?, icon: UIImage?)

  Objective-C

      + (nonnull instancetype)groundOverlayWithBounds:
                                  (nullable https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html *)bounds
                                                 icon:(nullable UIImage *)icon;

- `


  ### [+groundOverlayWithPosition:icon:zoomLevel:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay#/c:objc(cs)GMSGroundOverlay(cm)groundOverlayWithPosition:icon:zoomLevel:)


  ` Constructs a `GMSGroundOverlay` that renders the given `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)icon` at `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSGroundOverlay.html#/c:objc(cs)GMSGroundOverlay(py)position`, as if the image's
  actual size matches camera pixels at `zoomLevel`.

  #### Declaration

  Swift

      convenience init(position: CLLocationCoordinate2D, icon: UIImage?, zoomLevel: CGFloat)

  Objective-C

      + (nonnull instancetype)groundOverlayWithPosition:
                                  (CLLocationCoordinate2D)position
                                                   icon:(nullable UIImage *)icon
                                              zoomLevel:(CGFloat)zoomLevel;