# GMSMapView

    @interface GMSMapView : UIView

This is the main class of the Google Maps SDK for iOS and is the entry point for all methods
related to the map.

The map should be instantiated with one of the constructors -init or `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)initWithOptions:`.

`GMSMapView` can only be read and modified from the main thread, similar to all `UIKit` objects.
Calling these methods from another thread will result in an exception or undefined behavior.
- `


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


  ` `GMSMapView` delegate.

  #### Declaration

  Swift

      @IBOutlet weak var delegate: (any https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate.html)? { get set }

  Objective-C

      @property (nonatomic, weak, nullable) id<https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Protocols/GMSMapViewDelegate.html> delegate;

- `


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


  ` Controls the camera, which defines how the map is oriented. Modification of this property is
  instantaneous.

  #### Declaration

  Swift

      @NSCopying var camera: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html { get set }

  Objective-C

      @property (nonatomic, copy) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *_Nonnull camera;

- `


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


  ` Returns a `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSProjection.html` object that you can use to convert between screen coordinates and
  latitude/longitude coordinates.

  This is a snapshot of the current projection, and will not automatically update when the camera
  moves. It represents either the projection of the last drawn `GMSMapView` frame, or; where the
  camera has been explicitly set or the map just created, the upcoming frame. It will never be nil.

  #### Declaration

  Swift

      var projection: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSProjection.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSProjection.html *_Nonnull projection;

- `


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


  ` Controls whether the My Location dot and accuracy circle is enabled. Defaults to NO.

  #### Declaration

  Swift

      var isMyLocationEnabled: Bool { get set }

  Objective-C

      @property (nonatomic, assign, unsafe_unretained, readwrite,
                getter=isMyLocationEnabled) BOOL myLocationEnabled;

- `


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


  ` If My Location is enabled, reveals where the device location dot is being drawn. If it is
  disabled, or it is enabled but no location data is available, this will be nil. This property is
  observable using KVO.

  #### Declaration

  Swift

      var myLocation: CLLocation? { get }

  Objective-C

      @property (nonatomic, readonly, nullable) CLLocation *myLocation;

- `


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


  ` The marker that is selected. Setting this property selects a particular marker, showing an info
  window on it. If this property is non-nil, setting it to nil deselects the marker, hiding the
  info window. This property is observable using KVO.

  #### Declaration

  Swift

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

  Objective-C

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

- `


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


  ` Controls whether the map is drawing traffic data, if available. This is subject to the
  availability of traffic data. Defaults to NO.

  #### Declaration

  Swift

      var isTrafficEnabled: Bool { get set }

  Objective-C

      @property (nonatomic, assign, unsafe_unretained, readwrite,
                getter=isTrafficEnabled) BOOL trafficEnabled;

- `


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


  ` Controls whether the map is drawing transit data, if available. This is subject to the
  availability of transit data. Defaults to NO.

  #### Declaration

  Swift

      var isTransitEnabled: Bool { get set }

  Objective-C

      @property (nonatomic, assign, unsafe_unretained, readwrite,
                getter=isTransitEnabled) BOOL transitEnabled;

- `


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


  ` Controls the type of map tiles that should be displayed. Defaults to kGMSTypeNormal.

  #### Declaration

  Swift

      var mapType: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapViewType.html { get set }

  Objective-C

      @property (nonatomic) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapViewType.html mapType;

- `


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


  ` Controls the style of the map.

  A non-nil mapStyle will only apply if mapType is Normal.

  #### Declaration

  Swift

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

  Objective-C

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

- `


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


  `

  #### Declaration

  Swift

      var overrideUserInterfaceStyle: UIUserInterfaceStyle { get set }

  Objective-C

      @property(nonatomic) UIUserInterfaceStyle overrideUserInterfaceStyle

- `


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


  ` Minimum zoom (the farthest the camera may be zoomed out). Defaults to kGMSMinZoomLevel. Modified
  with -setMinZoom:maxZoom:.

  #### Declaration

  Swift

      var minZoom: Float { get }

  Objective-C

      @property (nonatomic, readonly) float minZoom;

- `


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


  ` Maximum zoom (the closest the camera may be to the Earth). Defaults to kGMSMaxZoomLevel. Modified
  with -setMinZoom:maxZoom:.

  #### Declaration

  Swift

      var maxZoom: Float { get }

  Objective-C

      @property (nonatomic, readonly) float maxZoom;

- `


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


  ` If set, 3D buildings will be shown where available. Defaults to YES.

  This may be useful when adding a custom tile layer to the map, in order to make it clearer at
  high zoom levels. Changing this value will cause all tiles to be briefly invalidated.

  #### Declaration

  Swift

      var isBuildingsEnabled: Bool { get set }

  Objective-C

      @property (nonatomic, assign, unsafe_unretained, readwrite,
                getter=isBuildingsEnabled) BOOL buildingsEnabled;

- `


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


  ` Sets whether indoor maps are shown, where available. Defaults to YES.

  If this is set to NO, caches for indoor data may be purged and any floor currently selected by
  the end-user may be reset.

  #### Declaration

  Swift

      var isIndoorEnabled: Bool { get set }

  Objective-C

      @property (nonatomic, assign, unsafe_unretained, readwrite,
                getter=isIndoorEnabled) BOOL indoorEnabled;

- `


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


  ` Gets the `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay.html` instance which allows to observe or control aspects of indoor data
  display.

  #### Declaration

  Swift

      var indoorDisplay: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSIndoorDisplay.html *_Nonnull indoorDisplay;

- `


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


  ` Gets the `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSUISettings.html` object, which controls user interface settings for the map.

  #### Declaration

  Swift

      var settings: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSUISettings.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSUISettings.html *_Nonnull settings;

- `


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


  ` Controls the 'visible' region of the view. By applying padding an area around the edge of the
  view can be created which will contain map data but will not contain UI controls.

  If the padding is not balanced, the visual center of the view will move as appropriate. Padding
  will also affect the `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(py)projection` property so the visible region will not include the padding
  area. `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraUpdate.html` fitToBounds will ensure that both this padding and any padding requested
  will be taken into account.

  This property may be animated within a UIView-based animation block.

  #### Declaration

  Swift

      var padding: UIEdgeInsets { get set }

  Objective-C

      @property (nonatomic) UIEdgeInsets padding;

- `


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


  ` Controls how safe area insets are added to the padding values. Like padding, safe area insets
  position map controls such as the compass, my location button and floor picker within the device
  safe area.

  Defaults to `kGMSMapViewPaddingAdjustmentBehaviorAlways`.

  #### Declaration

  Swift

      var paddingAdjustmentBehavior: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapViewPaddingAdjustmentBehavior.html { get set }

  Objective-C

      @property (nonatomic) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapViewPaddingAdjustmentBehavior.html paddingAdjustmentBehavior;

- `


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


  ` Defaults to `YES`. If set to `NO`, `GMSMapView` will generate accessibility elements for overlay
  objects, such as `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMarker.html` and `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSPolyline.html`.

  This property follows the informal `UIAccessibility` protocol, except for the default value of
  `YES`.

  #### Declaration

  Swift

      var accessibilityElementsHidden: Bool { get set }

  Objective-C

      @property (nonatomic) BOOL accessibilityElementsHidden;

- `


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


  ` Accessor for the custom `CALayer` type used for the layer.

  #### Declaration

  Swift

      var layer: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapLayer.html { get }

  Objective-C

      @property (nonatomic, retain, readonly) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapLayer.html *_Nonnull layer;

- `


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


  ` Controls the rendering frame rate. Default value is `kGMSFrameRateMaximum`.

  #### Declaration

  Swift

      var preferredFrameRate: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSFrameRate.html { get set }

  Objective-C

      @property (nonatomic) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSFrameRate.html preferredFrameRate;

- `


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


  ` If not nil, constrains the camera target so that gestures cannot cause it to leave the specified
  bounds.

  #### Declaration

  Swift

      var cameraTargetBounds: 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 *cameraTargetBounds;

- `


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


  ` All conditionally-available (dependent on mapID or other map settings) capabilities that are
  available at the current moment in time. Does not include always-available capabilities.

  #### Declaration

  Swift

      var mapCapabilities: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapCapabilityFlags.html { get }

  Objective-C

      @property (nonatomic, readonly) https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Enums/GMSMapCapabilityFlags.html mapCapabilities;

- `


  ### [-init](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)init)


  ` Initializes with `CGRectZero` and default options.

  #### Declaration

  Swift

      convenience init()

  Objective-C

      - (nonnull instancetype)init;

- `


  ### [-initWithOptions:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)initWithOptions:)


  ` Creates a new map view with the given options. The value of the options object is copied by this
  method.

  #### Declaration

  Swift

      init(options: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapViewOptions.html)

  Objective-C

      - (nonnull instancetype)initWithOptions:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapViewOptions.html *)options;

- `


  ### [-initWithFrame:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)initWithFrame:)


  ` Deprecated

  Use -init or -initWithOptions: instead.

  #### Declaration

  Swift

      convenience init(frame: CGRect)

  Objective-C

      - (instancetype)initWithFrame:(CGRect)frame
          __GMS_AVAILABLE_BUT_DEPRECATED_MSG("Use -init or -initWithOptions: instead.");

- `


  ### [-initWithCoder:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)initWithCoder:)


  ` Deprecated

  Use -init or -initWithOptions: instead.

  #### Declaration

  Swift

      convenience init?(coder: NSCoder)

  Objective-C

      - (nullable instancetype)initWithCoder:(NSCoder *)coder
          __GMS_AVAILABLE_BUT_DEPRECATED_MSG("Use -init or -initWithOptions: instead.");

- `


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


  ` Deprecated

  Use -init or -initWithOptions: instead.
  Builds and returns a map view with a frame and camera target.

  #### Declaration

  Swift

      class func map(withFrame frame: CGRect, camera: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html) -> Self

  Objective-C

      + (nonnull instancetype)mapWithFrame:(CGRect)frame
                                    camera:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)camera;

- `


  ### [+mapWithFrame:mapID:camera:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(cm)mapWithFrame:mapID:camera:)


  ` Deprecated

  Use -init or -initWithOptions: instead.
  Convenience initializer to build and return a map view with a frame, map ID, and camera target.

  #### Declaration

  Objective-C

      + (nonnull instancetype)mapWithFrame:(CGRect)frame
                                     mapID:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapID.html *)mapID
                                    camera:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)camera;

- `


  ### [-initWithFrame:camera:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)initWithFrame:camera:)


  ` Deprecated

  Use -init or -initWithOptions: instead.
  Builds and returns a map view, with a frame and camera target.

  #### Declaration

  Swift

      convenience init(frame: CGRect, camera: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html)

  Objective-C

      - (nonnull instancetype)initWithFrame:(CGRect)frame
                                     camera:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)camera;

- `


  ### [-initWithFrame:mapID:camera:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)initWithFrame:mapID:camera:)


  ` Deprecated

  Use -init or -initWithOptions: instead.
  Builds and returns a map view with a frame, map ID, and camera target.

  #### Declaration

  Swift

      convenience init(frame: CGRect, mapID: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapID.html, camera: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html)

  Objective-C

      - (nonnull instancetype)initWithFrame:(CGRect)frame
                                      mapID:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapID.html *)mapID
                                     camera:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)camera;

- `


  ### [-startRendering](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)startRendering)


  ` Deprecated

  This method is obsolete and will be removed in a future release.
  Tells this map to power up its renderer. This is optional and idempotent.

  #### Declaration

  Swift

      func startRendering()

  Objective-C

      - (void)startRendering;

- `


  ### [-stopRendering](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)stopRendering)


  ` Deprecated

  This method is obsolete and will be removed in a future release.
  Tells this map to power down its renderer. This is optional and idempotent.

  #### Declaration

  Swift

      func stopRendering()

  Objective-C

      - (void)stopRendering;

- `


  ### [-clear](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)clear)


  ` Clears all markup that has been added to the map, including markers, polylines and ground
  overlays. This will not clear the visible location dot or reset the current mapType.

  #### Declaration

  Swift

      func clear()

  Objective-C

      - (void)clear;

- `


  ### [-setMinZoom:maxZoom:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)setMinZoom:maxZoom:)


  ` Sets `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(py)minZoom` and `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(py)maxZoom`. This method expects the minimum to be less than or equal to the
  maximum, and will throw an exception with name `NSRangeException` otherwise.

  #### Declaration

  Swift

      func setMinZoom(_ minZoom: Float, maxZoom: Float)

  Objective-C

      - (void)setMinZoom:(float)minZoom maxZoom:(float)maxZoom;

- `


  ### [-cameraForBounds:insets:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)cameraForBounds:insets:)


  ` Build a `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html` that presents `bounds` with `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(py)padding`. The camera will have a zero
  bearing and tilt (i.e., facing north and looking directly at the Earth). This takes the frame and
  padding of this `GMSMapView` into account.

  If the bounds is invalid this method will return a nil camera.

  #### Declaration

  Swift

      func camera(for bounds: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html, insets: UIEdgeInsets) -> https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html?

  Objective-C

      - (nullable https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)cameraForBounds:
                                          (nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCoordinateBounds.html *)bounds
                                               insets:(UIEdgeInsets)insets;

- `


  ### [-moveCamera:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)moveCamera:)


  ` Changes the camera according to `update`. The camera change is instantaneous (with no
  animation).

  #### Declaration

  Swift

      func moveCamera(_ update: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraUpdate.html)

  Objective-C

      - (void)moveCamera:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraUpdate.html *)update;

- `


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


  ` Check whether the given camera positions would practically cause the camera to be rendered the
  same, taking into account the level of precision and transformations used internally.

  #### Declaration

  Swift

      func areEqual(forRenderingPosition position: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html, position otherPosition: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html) -> Bool

  Objective-C

      - (BOOL)areEqualForRenderingPosition:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)position
                                  position:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)otherPosition;

- `


  ### [-featureLayerOfFeatureType:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)featureLayerOfFeatureType:)


  ` Returns a feature layer of the specified type. Feature layers must be configured in the Cloud
  Console.

  If a layer of the specified type does not exist on this map, or if data-driven styling is not
  enabled, or if the Metal rendering framework is not used, the resulting layer's `isAvailable`
  will be `NO`, and will not respond to any calls.

  Requires the Metal renderer. Learn how to enable Metal at
  <https://developers.google.com/maps/documentation/ios-sdk/config#use-metal>

  #### Declaration

  Swift

      func featureLayer(of featureType: FeatureType) -> FeatureLayer<PlaceFeature>

  Objective-C

      - (nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSFeatureLayer.html<https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSPlaceFeature.html *> *)featureLayerOfFeatureType:
          (nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSFeatureType.html)featureType;

- `


  ### [-datasetFeatureLayerOfDatasetID:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)datasetFeatureLayerOfDatasetID:)


  ` Returns a dataset feature layer of the specified dataset. Dataset IDs must be configured in the
  Cloud Console.

  If a dataset of the specified ID does not exist on this map, or if data-driven styling is not
  enabled, the resulting layer's `isAvailable` will be `NO`, and will not respond to any calls.

  #### Declaration

  Swift

      func datasetFeatureLayer(of datasetID: String) -> DatasetFeatureLayer

  Objective-C

      - (nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSDatasetFeatureLayer.html *)datasetFeatureLayerOfDatasetID:
          (nonnull NSString *)datasetID;

[## Animation](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/Animation)

- `


  ### [-animateToCameraPosition:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateToCameraPosition:)


  ` Animates the camera of this map to `cameraPosition`.

  #### Declaration

  Swift

      func animate(to cameraPosition: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html)

  Objective-C

      - (void)animateToCameraPosition:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition.html *)cameraPosition;

- `


  ### [-animateToLocation:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateToLocation:)


  ` As `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)animateToCameraPosition:`, but changes only the location of the camera (i.e., from the
  current location to `location`).

  #### Declaration

  Swift

      func animate(toLocation location: CLLocationCoordinate2D)

  Objective-C

      - (void)animateToLocation:(CLLocationCoordinate2D)location;

- `


  ### [-animateToZoom:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateToZoom:)


  ` As `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)animateToCameraPosition:`, but changes only the zoom level of the camera.

  This value is clamped by \[kGMSMinZoomLevel, kGMSMaxZoomLevel\].

  #### Declaration

  Swift

      func animate(toZoom zoom: Float)

  Objective-C

      - (void)animateToZoom:(float)zoom;

- `


  ### [-animateToBearing:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateToBearing:)


  ` As `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)animateToCameraPosition:`, but changes only the bearing of the camera (in degrees). Zero
  indicates true north.

  #### Declaration

  Swift

      func animate(toBearing bearing: CLLocationDirection)

  Objective-C

      - (void)animateToBearing:(CLLocationDirection)bearing;

- `


  ### [-animateToViewingAngle:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateToViewingAngle:)


  ` As `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)animateToCameraPosition:`, but changes only the viewing angle of the camera (in degrees).
  This value will be clamped to a minimum of zero (i.e., facing straight down) and between 30 and
  45 degrees towards the horizon, depending on the relative closeness to the earth.

  #### Declaration

  Swift

      func animate(toViewingAngle viewingAngle: Double)

  Objective-C

      - (void)animateToViewingAngle:(double)viewingAngle;

- `


  ### [-animateWithCameraUpdate:](https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView#/c:objc(cs)GMSMapView(im)animateWithCameraUpdate:)


  ` Applies `cameraUpdate` to the current camera, and then uses the result as per
  `https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView.html#/c:objc(cs)GMSMapView(im)animateToCameraPosition:`.

  #### Declaration

  Swift

      func animate(with cameraUpdate: https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraUpdate.html)

  Objective-C

      - (void)animateWithCameraUpdate:(nonnull https://developers.google.com/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraUpdate.html *)cameraUpdate;