GoogleMaps Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
Type-Definitions
The following type definitions are available globally.
-
Identifiers for feature types of data-driven styling features.
Declaration
Swift
struct FeatureType : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
Objective-C
typedef NSString *GMSFeatureType
-
Handler that reports a reverse geocoding response, or error.
@related GMSGeocoder
-
A point on the map. May represent a projected coordinate.
x is in [-1, 1]. The axis direction is normal: y grows towards North, x grows towards East. (0,
0) is the center of the map.
See GMSProject()
and GMSUnproject()
.
-
-
Callback for when a panorama metadata becomes available.
If an error occurred, panorama
is nil and error
is not nil.
Otherwise, panorama
is not nil and error
is nil.
@related GMSPanoramaService
Declaration
Swift
typealias GMSPanoramaCallback = (GMSPanorama?, (any Error)?) -> Void
Objective-C
typedef void (^GMSPanoramaCallback)(GMSPanorama *_Nullable, NSError *_Nullable)
-
GMSVisibleRegion
contains the four points defining the polygon that is visible in a map’s
camera.
This polygon can be a trapezoid instead of a rectangle, because a camera can have tilt. If the
camera is directly over the center of the camera, the shape is rectangular, but if the camera is
tilted, the shape will appear to be a trapezoid whose smallest side is closest to the point of
view.
-
GMSTileURLConstructor
is a block taking x
, y
and zoom
and returning an NSURL, or nil to
indicate no tile for that location.
@related GMSURLTileLayer
Declaration
Swift
typealias GMSTileURLConstructor = (UInt, UInt, UInt) -> URL?
Objective-C
typedef NSURL *_Nullable (^GMSTileURLConstructor)(NSUInteger, NSUInteger,
NSUInteger)
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-08-27 UTC.
[null,null,["Last updated 2025-08-27 UTC."],[[["\u003cp\u003eThis documentation page provides type definitions for various functionalities within the Google Maps SDK for iOS.\u003c/p\u003e\n"],["\u003cp\u003eThese definitions include types for features, map points, orientations, panorama metadata, and tile URLs.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize these types to interact with and manipulate different aspects of the Google Maps display within their iOS applications.\u003c/p\u003e\n"],["\u003cp\u003eThe definitions are available in both Swift and Objective-C, offering flexibility for developers using either language.\u003c/p\u003e\n"],["\u003cp\u003eEach type definition is linked to its detailed documentation for further information and usage instructions.\u003c/p\u003e\n"]]],[],null,["# GoogleMaps Framework Reference\n\nType-Definitions\n================\n\nThe following type definitions are available globally.\n- `\n ``\n ``\n `\n\n ### [GMSFeatureType](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSFeatureType)\n\n `\n ` \n Identifiers for feature types of data-driven styling features. \n\n #### Declaration\n\n Swift \n\n struct FeatureType : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable\n\n Objective-C \n\n typedef NSString *GMSFeatureType\n\n- `\n ``\n ``\n `\n\n ### [GMSReverseGeocodeCallback](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSReverseGeocodeCallback)\n\n `\n ` \n Handler that reports a reverse geocoding response, or error.\n\n @related GMSGeocoder \n\n #### Declaration\n\n Swift \n\n typealias GMSReverseGeocodeCallback = (/maps/documentation/ios-sdk/reference/objc/Classes/GMSReverseGeocodeResponse?, (any Error)?) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSReverseGeocodeCallback)(/maps/documentation/ios-sdk/reference/objc/Classes/GMSReverseGeocodeResponse *_Nullable,\n NSError *_Nullable)\n\n- `\n ``\n ``\n `\n\n ### [GMSMapPoint](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSMapPoint)\n\n `\n ` \n A point on the map. May represent a projected coordinate.\n\n x is in \\[-1, 1\\]. The axis direction is normal: y grows towards North, x grows towards East. (0,\n 0) is the center of the map.\n\n See `GMSProject()` and `GMSUnproject()`. \n\n #### Declaration\n\n Objective-C \n\n typedef struct /maps/documentation/ios-sdk/reference/objc/Structs/GMSMapPoint /maps/documentation/ios-sdk/reference/objc/Structs/GMSMapPoint\n\n- `\n ``\n ``\n `\n\n ### [GMSOrientation](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSOrientation)\n\n `\n ` \n [GMSOrientation](/maps/documentation/ios-sdk/reference/objc/Structs/GMSOrientation) is a tuple of heading and pitch used to control the viewing\n direction of a [GMSPanoramaCamera](/maps/documentation/ios-sdk/reference/objc/Classes/GMSPanoramaCamera). \n\n #### Declaration\n\n Objective-C \n\n typedef struct /maps/documentation/ios-sdk/reference/objc/Structs/GMSOrientation /maps/documentation/ios-sdk/reference/objc/Structs/GMSOrientation\n\n- `\n ``\n ``\n `\n\n ### [GMSPanoramaCallback](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSPanoramaCallback)\n\n `\n ` \n Callback for when a panorama metadata becomes available.\n If an error occurred, `panorama` is nil and `error` is not nil.\n Otherwise, `panorama` is not nil and `error` is nil.\n\n @related [GMSPanoramaService](/maps/documentation/ios-sdk/reference/objc/Classes/GMSPanoramaService) \n\n #### Declaration\n\n Swift \n\n typealias GMSPanoramaCallback = (/maps/documentation/ios-sdk/reference/objc/Classes/GMSPanorama?, (any Error)?) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSPanoramaCallback)(/maps/documentation/ios-sdk/reference/objc/Classes/GMSPanorama *_Nullable, NSError *_Nullable)\n\n- `\n ``\n ``\n `\n\n ### [GMSVisibleRegion](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSVisibleRegion)\n\n `\n ` \n [GMSVisibleRegion](/maps/documentation/ios-sdk/reference/objc/Structs/GMSVisibleRegion) contains the four points defining the polygon that is visible in a map's\n camera.\n\n This polygon can be a trapezoid instead of a rectangle, because a camera can have tilt. If the\n camera is directly over the center of the camera, the shape is rectangular, but if the camera is\n tilted, the shape will appear to be a trapezoid whose smallest side is closest to the point of\n view. \n\n #### Declaration\n\n Objective-C \n\n typedef struct /maps/documentation/ios-sdk/reference/objc/Structs/GMSVisibleRegion /maps/documentation/ios-sdk/reference/objc/Structs/GMSVisibleRegion\n\n- `\n ``\n ``\n `\n\n ### [GMSTileURLConstructor](/maps/documentation/ios-sdk/reference/objc/Type-Definitions/GMSTileURLConstructor)\n\n `\n ` \n `GMSTileURLConstructor` is a block taking `x`, `y` and `zoom` and returning an NSURL, or nil to\n indicate no tile for that location.\n\n @related [GMSURLTileLayer](/maps/documentation/ios-sdk/reference/objc/Classes/GMSURLTileLayer) \n\n #### Declaration\n\n Swift \n\n typealias GMSTileURLConstructor = (UInt, UInt, UInt) -\u003e URL?\n\n Objective-C \n\n typedef NSURL *_Nullable (^GMSTileURLConstructor)(NSUInteger, NSUInteger,\n NSUInteger)"]]