Stay organized with collections Save and categorize content based on your preferences.
ClassesThe following classes are available globally.
A result from a reverse geocode request, containing a human-readable address. This class is immutable and should not be instantiated directly unless under testing circumstances. Obtain an instance via GMSGeocoder
.
Some of the fields may be nil, indicating they are not present.
DeclarationSwift
class GMSAddress : NSObject, NSCopying, NSSecureCoding
Objective-C
@interface GMSAddress : NSObject <NSCopying, NSSecureCoding>
An advanced marker is an icon placed at a particular point on the map’s surface.
DeclarationObjective-C
@interface GMSAdvancedMarker : GMSMarker
GMSCALayer
is a superclass used by layers in the Google Maps SDK for iOS, such as GMSMapLayer
and GMSPanoramaLayer
.
This is an implementation detail and it should not be instantiated directly.
DeclarationSwift
class GMSCALayer : CALayer
Objective-C
@interface GMSCALayer : CALayer
An immutable class that aggregates all camera position parameters.
DeclarationSwift
class GMSCameraPosition : NSObject, NSCopying, NSMutableCopying
Objective-C
@interface GMSCameraPosition : NSObject <NSCopying, NSMutableCopying>
GMSCameraUpdate
represents an update that may be applied to a GMSMapView
.
It encapsulates some logic for modifying the current camera.
It should only be constructed using the factory helper methods below.
DeclarationSwift
class GMSCameraUpdate : NSObject
Objective-C
@interface GMSCameraUpdate : NSObject
A circle on the Earth’s surface (spherical cap).
GMSCoordinateBounds represents a rectangular bounding box on the Earth’s surface. GMSCoordinateBounds is immutable and can’t be modified after construction.
DeclarationSwift
class GMSCoordinateBounds : NSObject
Objective-C
@interface GMSCoordinateBounds : NSObject
An interface representing a feature from a dataset.
The featureType of a DatasetFeature will always be GMSFeatureTypeDataset
.
Swift
class DatasetFeature : NSObject, Feature
Objective-C
@interface GMSDatasetFeature : NSObject <GMSFeature>
An interface representing a feature layer for a dataset.
The featureType of a GMSDatasetFeatureLayer
will always be GMSFeatureTypeDataset
.
Swift
class DatasetFeatureLayer : FeatureLayer<DatasetFeature>
A class representing a collection of all features of the same GMSFeatureType
, whose style can be overridden on the client. Each GMSFeatureType
will have one corresponding GMSFeatureLayer
.
Swift
class FeatureLayer<T> : NSObject where T : Feature
Objective-C
@interface GMSFeatureLayer<__covariant T : id <GMSFeature>> : NSObject
Specifies how a map feature should appear when displayed on a map.
DeclarationSwift
class FeatureStyle : NSObject, NSCopying, NSMutableCopying
Objective-C
@interface GMSFeatureStyle : NSObject <NSCopying, NSMutableCopying>
Mutable version of GMSFeatureStyle.
DeclarationSwift
class MutableFeatureStyle : FeatureStyle
Exposes a service for reverse geocoding. This maps Earth coordinates (latitude and longitude) to a collection of addresses near that coordinate.
DeclarationSwift
class GMSGeocoder : NSObject
Objective-C
@interface GMSGeocoder : NSObject
A collection of results from a reverse geocode request.
DeclarationSwift
class GMSReverseGeocodeResponse : NSObject, NSCopying
Objective-C
@interface GMSReverseGeocodeResponse : NSObject <NSCopying>
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.
Objective-C
@interface GMSGroundOverlay : GMSOverlay
Describes a building which contains levels.
DeclarationSwift
class GMSIndoorBuilding : NSObject
Objective-C
@interface GMSIndoorBuilding : NSObject
Provides ability to observe or control the display of indoor level data.
Like GMSMapView
, GMSIndoorDisplay
may only be used from the main thread.
Swift
class GMSIndoorDisplay : NSObject
Objective-C
@interface GMSIndoorDisplay : NSObject
Swift
class GMSIndoorLevel : NSObject
Objective-C
@interface GMSIndoorLevel : NSObject
- (instancetype)init NS_UNAVAILABLE;
/** Localized display name for the level, e.g. "Ground floor". */
@property(nonatomic, copy, readonly, nullable) NSString *name;
/** Localized short display name for the level, e.g. "1". */
@property(nonatomic, copy, readonly, nullable) NSString *shortName;
@end
An opaque identifier for a custom map configuration.
DeclarationSwift
class GMSMapID : NSObject, NSCopying
Objective-C
@interface GMSMapID : NSObject <NSCopying>
GMSMapLayer
is a custom subclass of CALayer
, provided as the layer class on GMSMapView
. This layer should not be instantiated directly. It provides model access to the camera normally defined on GMSMapView
.
Modifying or animating these properties will typically interrupt any current gesture on GMSMapView
, e.g., a user’s pan or rotation. Similarly, if a user performs an enabled gesture during an animation, the animation will stop ‘in-place’ (at the current presentation value).
GMSMapStyle
holds details about a style which can be applied to a map.
With style options you can customize the presentation of the standard Google map styles, changing the visual display of features like roads, parks, and other points of interest. As well as changing the style of these features, you can also hide features entirely. This means that you can emphasize particular components of the map or make the map complement the content of your app.
For more information see: https://developers.google.com/maps/documentation/ios-sdk/styling
DeclarationSwift
class GMSMapStyle : NSObject
Objective-C
@interface GMSMapStyle : NSObject
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 -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.
Swift
class GMSMapView : UIView
Objective-C
@interface GMSMapView : UIView
This class defines initialization-time options for GMSMapView
.
Swift
class GMSMapViewOptions : NSObject
Objective-C
@interface GMSMapViewOptions : NSObject
A marker is an icon placed at a particular point on the map’s surface. A marker’s icon is drawn oriented against the device’s screen rather than the map’s surface; i.e., it will not necessarily change orientation due to map rotations, tilting, or zooming.
GMSMarkerLayer
is a subclass of GMSOverlayLayer
, available on a per-marker basis, that allows animation of several properties of its associated GMSMarker
.
Note that this CALayer
is never actually rendered directly, as GMSMapView
is provided entirely via an OpenGL layer. As such, adjustments or animations to ‘default’ properties of CALayer
will not have any effect.
GMSMutablePath
is a dynamic (resizable) array of CLLocationCoordinate2D
. All coordinates must be valid. GMSMutablePath
is the mutable counterpart to the immutable GMSPath
.
Swift
class GMSMutablePath : GMSPath
Objective-C
@interface GMSMutablePath : GMSPath
GMSOverlay is an abstract class that represents some overlay that may be attached to a specific
GMSMapView. It may not be instantiated directly; instead, instances of concrete overlay types
should be created directly (such as GMSMarker
, GMSPolyline
, and GMSPolygon
).
This supports the NSCopying
protocol; [overlay_ copy] will return a copy of the overlay type, but with map
set to nil.
Swift
class GMSOverlay : NSObject, NSCopying
Objective-C
@interface GMSOverlay : NSObject <NSCopying>
GMSOverlayLayer
is a custom subclass of CALayer
, and an abstract baseclass for GMSOverlay
layers that allow custom animations.
Note that this CALayer
or any subclass are never actually rendered directly, as GMSMapView
is provided entirely via an OpenGL
layer. As such, adjustments or animations to ‘default’ properties of CALayer
will not have any effect.
This is an implementation detail and it should not be instantiated directly.
DeclarationSwift
class GMSOverlayLayer : CALayer
Objective-C
@interface GMSOverlayLayer : CALayer
GMSPanorama
represents metadata for a specific panorama on the Earth. This class is not instantiable directly and is obtained via GMSPanoramaService
or GMSPanoramaView
.
Swift
class GMSPanorama : NSObject
Objective-C
@interface GMSPanorama : NSObject
GMSPanoramaCamera
is used to control the viewing direction of a GMSPanoramaView
. It does not contain information about which particular panorama should be displayed.
Swift
class GMSPanoramaCamera : NSObject
Objective-C
@interface GMSPanoramaCamera : NSObject
GMSPanoramaCameraUpdate
represents an update that may be applied to a GMSPanoramaView
. It encapsulates some logic for modifying the current camera. It should only be constructed using the factory helper methods below.
Swift
class GMSPanoramaCameraUpdate : NSObject
Objective-C
@interface GMSPanoramaCameraUpdate : NSObject
GMSPanoramaLayer
is a custom subclass of CALayer, provided as the layer class on GMSPanoramaView
. This layer should not be instantiated directly.
Objective-C
@interface GMSPanoramaLayer : GMSCALayer
Links from a GMSPanorama
to neighboring panoramas.
Swift
class GMSPanoramaLink : NSObject
Objective-C
@interface GMSPanoramaLink : NSObject
GMSPanoramaService
can be used to request panorama metadata even when a GMSPanoramaView
is not active.
Get an instance like this: [[GMSPanoramaService alloc] init]
.
Swift
class GMSPanoramaService : NSObject
Objective-C
@interface GMSPanoramaService : NSObject
A panorama is used to display Street View imagery. It should be constructed via [[GMSPanoramaView alloc] initWithFrame:]
, and configured post-initialization.
All properties and methods should be accessed on the main thread, similar to all UIKit
objects. The GMSPanoramaViewDelegate
methods will also be called back only on the main thread.
The backgroundColor of this view is shown while no panorama is visible, such as while it is loading or if the panorama is later set to nil. The alpha color of backgroundColor is not supported.
DeclarationSwift
class GMSPanoramaView : UIView
Objective-C
@interface GMSPanoramaView : UIView
GMSPath
encapsulates an immutable array of CLLocationCooordinate2D
. All the coordinates of a GMSPath
must be valid. The mutable counterpart is GMSMutablePath
.
Swift
class GMSPath : NSObject, NSCopying, NSMutableCopying
Objective-C
@interface GMSPath : NSObject <NSCopying, NSMutableCopying>
Provides a custom pin image for an advanced marker.
DeclarationSwift
class GMSPinImage : UIImage
Objective-C
@interface GMSPinImage : UIImage
Provides a custom pin image glyph for an advanced marker.
DeclarationSwift
class GMSPinImageGlyph : NSObject
Objective-C
@interface GMSPinImageGlyph : NSObject
Provides pin image customization for an advanced marker.
DeclarationSwift
class GMSPinImageOptions : NSObject
Objective-C
@interface GMSPinImageOptions : NSObject
An interface representing a place feature (a feature with a Place ID).
DeclarationSwift
class PlaceFeature : NSObject, Feature
Objective-C
@interface GMSPlaceFeature : NSObject <GMSFeature>
GMSPolygon
defines a polygon that appears on the map. A polygon (like a polyline) defines a series of connected coordinates in an ordered sequence; additionally, polygons form a closed loop and define a filled region.
GMSPolygonLayer
is a subclass of GMSOverlayLayer
, available on a per-polygon basis, that allows animation of several properties of its associated GMSPolygon
.
Note that this CALayer
is never actually rendered directly, as GMSMapView
is provided entirely via an OpenGL
layer. As such, adjustments or animations to ‘default’ properties of CALayer
will not have any effect.
GMSPolyline
specifies the available options for a polyline that exists on the Earth’s surface. It is drawn as a physical line between the points specified in path
.
Defines a mapping between Earth coordinates CLLocationCoordinate2D
and coordinates in the map’s view CGPoint
. A projection is constant and immutable, in that the mapping it embodies never changes. The mapping is not necessarily linear.
Passing invalid Earth coordinates (i.e., per CLLocationCoordinate2DIsValid
) to this object may result in undefined behavior.
This class should not be instantiated directly unless under testing conditions. Instead, obtain it via projection on GMSMapView
.
Swift
class GMSProjection : NSObject
Objective-C
@interface GMSProjection : NSObject
Service class for the Google Maps SDK for iOS.
This class is not thread safe. All methods should only be invoked on the main thread.
DeclarationSwift
class GMSServices : NSObject
Objective-C
@interface GMSServices : NSObject
The abstract base class for polyline styles that draw a repeating image over a GMSStyleSpan
.
Swift
class GMSStampStyle : NSObject
Objective-C
@interface GMSStampStyle : NSObject
A polyline style that draws a repeating image over a GMSStyleSpan
.
Describes the drawing style for a stamp image over a GMSStyleSpan
.
Note
Only supports transparent background. If any color is set to the GMSStyleSpan
it will only be treated as a fallback.
Note
Use of GMSSpriteStyle
requires Metal rendering framework. See GMSServices::setMetalRendererEnabled:(BOOL)
to learn how to enable Metal. If GMSStyleSpan
is added to a map without Metal being enabled, the stamp will not render and instead the polyline span will attempt to fallback to any set color. If no color is set, it will fallback to the default polyline color, [UIColor blueColor].
Note
Use GMSMapView::mapCapabilities
property to query if a GMSMapView
supports GMSSpriteStyle
.
Describes the drawing style for one-dimensional entities such as polylines.
DeclarationSwift
class GMSStrokeStyle : NSObject
Objective-C
@interface GMSStrokeStyle : NSObject
Describes the style for some region of a polyline.
DeclarationSwift
class GMSStyleSpan : NSObject
Objective-C
@interface GMSStyleSpan : NSObject
GMSSyncTileLayer
is an abstract subclass of GMSTileLayer
that provides a sync interface to generate image tile data.
GMSTileLayer
is an abstract class that allows overlaying of custom image tiles on a specified GMSMapView
. It may not be initialized directly, and subclasses must implement the tileForX:y:zoom: method to return tiles.
At zoom level 0 the whole world is a square covered by a single tile, and the coordinates x
and y
are both 0 for that tile. At zoom level 1, the world is covered by 4 tiles with x
and y
being 0 or 1, and so on.
Swift
class GMSTileLayer : NSObject
Objective-C
@interface GMSTileLayer : NSObject
Settings for the user interface of a GMSMapView.
DeclarationSwift
class GMSUISettings : NSObject
Objective-C
@interface GMSUISettings : NSObject
GMSURLTileProvider
fetches tiles based on the URLs returned from a GMSTileURLConstructor
. For example:
GMSTileURLConstructor constructor = ^(NSUInteger x, NSUInteger y, NSUInteger zoom) { NSString *URLStr = [NSString stringWithFormat:@"https://example.com/%d/%d/%d.png", x, y, zoom]; return [NSURL URLWithString:URLStr]; }; GMSTileLayer *layer = [GMSURLTileLayer tileLayerWithURLConstructor:constructor]; layer.userAgent = @"SDK user agent"; layer.map = map;
GMSURLTileProvider
may not be subclassed and should only be created via its convenience constructor.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-24 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-24 UTC."],[[["The Google Maps SDK for iOS provides classes for displaying and interacting with maps, including features like markers, polygons, and polylines."],["Core map classes like `GMSMapView` and `GMSCameraPosition` handle map display, camera control, and user interaction."],["Overlays such as `GMSMarker`, `GMSCircle`, and `GMSPolygon` enable the addition of visual elements to the map."],["Indoor maps and Street View panoramas are supported through classes like `GMSIndoorBuilding` and `GMSPanoramaView`."],["Feature layers and styling options allow for customization of the map's appearance using classes like `GMSFeatureLayer` and `GMSFeatureStyle`."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4