GMSServices
@interface GMSServices : 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.
-
Provides the shared instance of
GMSServices
for the Google Maps SDK for iOS, creating it if necessary. Classes such asGMSMapView
andGMSPanoramaView
will hold this instance to provide their connection to Google.This is an opaque object. If your application often creates and destroys view or service classes provided by the Google Maps SDK for iOS, it may be useful to hold onto this object directly, as otherwise your connection to Google may be restarted on a regular basis. It also may be useful to take this object in advance of the first map creation, to reduce initial map creation performance cost.
This method will throw an exception if
+provideAPIKey:
has not been called.Declaration
Swift
class func sharedServices() -> any NSObjectProtocol
Objective-C
+ (nonnull id<NSObject>)sharedServices;
-
Provides your API key to the Google Maps SDK for iOS. This key is generated for your application via the Google Cloud Platform Console, and is paired with your application’s bundle ID to identify it. This must be called exactly once by your application before any iOS Maps SDK object is initialized.
Declaration
Swift
class func provideAPIKey(_ APIKey: String) -> Bool
Objective-C
+ (BOOL)provideAPIKey:(nonnull NSString *)APIKey;
Return Value
YES
if the APIKey was successfully provided. -
Provides your API options to the Google Maps SDK for iOS. Pass an array containing an NSString for each option. These options apply to all maps.
This may be called exactly once by your application and must be called before any iOS Maps SDK object is initialized.
Declaration
Swift
class func provideAPIOptions(_ APIOptions: [String]) -> Bool
Objective-C
+ (BOOL)provideAPIOptions:(nonnull NSArray<NSString *> *)APIOptions;
Return Value
YES
if all the APIOptions were successfully provided. -
Deprecated
Metal is now the default renderer if this API is not invoked. In the future, Metal rendering will be the only available implementation and this API will be a no-op. We encourage customers to remove calls to this method from their code.
Enables the map to render using Metal instead of OpenGL.
The rendering might look slightly different between renderers. The default is
YES
and the value must be updated before the services instance is initialized.This property must be set from the main thread.
Declaration
Swift
class func setMetalRendererEnabled(_ enabled: Bool)
Objective-C
+ (void)setMetalRendererEnabled:(BOOL)enabled;
-
Enables reporting of abnormal SDK terminations such as the app crashes while the SDK is still running. This allows Google to improve SDK stability when applicable. The default is
YES
and value must be updated before the services instance is initialized.This property must be set from the main thread.
Declaration
Swift
class func setAbnormalTerminationReportingEnabled(_ enabled: Bool)
Objective-C
+ (void)setAbnormalTerminationReportingEnabled:(BOOL)enabled;
-
Returns the open source software license information for Google Maps SDK for iOS. This information must be made available within your application.
Declaration
Swift
class func openSourceLicenseInfo() -> String
Objective-C
+ (nonnull NSString *)openSourceLicenseInfo;
-
Returns the version for this release of the Google Maps SDK for iOS. For example, “1.0.0”.
Declaration
Swift
class func sdkVersion() -> String
Objective-C
+ (nonnull NSString *)SDKVersion;
-
Returns the long version for this release of the Google Maps SDK for iOS. For example, “1.0.0 (102.1)”.
Declaration
Swift
class func sdkLongVersion() -> String
Objective-C
+ (nonnull NSString *)SDKLongVersion;
-
Adds a usage attribution ID to the initializer, which helps Google understand which libraries and samples are helpful to developers, such as usage of a marker clustering library. To opt out of sending the usage attribution ID, it is safe to delete this function call or replace the value with an empty string.
Declaration
Swift
class func addInternalUsageAttributionID(_ internalUsageAttributionID: String)
Objective-C
+ (void)addInternalUsageAttributionID: (nonnull NSString *)internalUsageAttributionID;
Parameters
internalUsageAttributionID
The usage attribution ID to add