GoogleNavigation Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
Type-Definitions
The following type definitions are available globally.
-
Declaration
Swift
struct GMSMapViewPresentReportIncidentPanelErrorCode : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
Objective-C
typedef NSInteger GMSMapViewPresentReportIncidentPanelErrorCode
-
Called when the user accepts or rejects the terms and conditions.
For versions >= 5.5.0, termsAccepted
will always be YES.
@related GMSNavigationServices
Declaration
Swift
typealias GMSTermsResponseCallback = (Bool) -> Void
Objective-C
typedef void (^GMSTermsResponseCallback)(BOOL)
-
Declaration
Swift
typealias GMSNavigationTransactionRecorderErrorHandler = (any Error) -> Void
Objective-C
typedef void (^GMSNavigationTransactionRecorderErrorHandler)(NSError *error)
-
Called when a route from the device’s location to the provided destination(s) is found, or fails
to be found for a reason indicated by the RouteStatus.
@related GMSNavigator
-
Called when the route information (ETA and distance) to the provided waypoint is calculated.
Parameters
routeInfo
|
The route information to the given destination. Will be nil if the calculation
fails.
@related GMSNavigator
|
-
Called if setting transaction IDs through the setTransactionIDs fails. Refer documentation for
the API for more details.
@related GMSNavigator
Declaration
Swift
typealias GMSNavigationTransactionIDErrorHandler = (any Error) -> Void
Objective-C
typedef void (^GMSNavigationTransactionIDErrorHandler)(NSError *_Nonnull)
-
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 outlines globally available type definitions used in the iOS SDK for Google Maps Navigation.\u003c/p\u003e\n"],["\u003cp\u003eThese definitions include types for callbacks, error handlers, route and navigation functionalities, and map features.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can utilize these type definitions when interacting with various aspects of the Google Maps Navigation services within their iOS applications.\u003c/p\u003e\n"],["\u003cp\u003eThe provided definitions encompass a wide range of operations, such as handling terms and conditions, recording transactions, calculating routes, and displaying panoramas.\u003c/p\u003e\n"],["\u003cp\u003eEach type definition has a detailed explanation of its purpose and usage, accompanied by Swift and Objective-C declarations for seamless integration into projects.\u003c/p\u003e\n"]]],[],null,["# GoogleNavigation Framework Reference\n\nType-Definitions\n================\n\nThe following type definitions are available globally.\n- `\n ``\n ``\n `\n\n ### [GMSMapViewPresentReportIncidentPanelErrorCode](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSMapViewPresentReportIncidentPanelErrorCode)\n\n `\n ` \n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\n | [Experimental](/maps/launch-stages#experimental) feature\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\n Type used to represent error codes for errors that have the domain\n [GMSMapViewPresentReportIncidentPanelErrorDomain](/maps/documentation/navigation/ios-sdk/reference/objc/Constants/GMSMapViewPresentReportIncidentPanelErrorDomain). \n\n #### Declaration\n\n Swift \n\n struct GMSMapViewPresentReportIncidentPanelErrorCode : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable\n\n Objective-C \n\n typedef NSInteger GMSMapViewPresentReportIncidentPanelErrorCode\n\n- `\n ``\n ``\n `\n\n ### [GMSTermsResponseCallback](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSTermsResponseCallback)\n\n `\n ` \n Called when the user accepts or rejects the terms and conditions.\n\n For versions \\\u003e= 5.5.0, `termsAccepted` will always be YES.\n\n @related [GMSNavigationServices](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationServices) \n\n #### Declaration\n\n Swift \n\n typealias GMSTermsResponseCallback = (Bool) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSTermsResponseCallback)(BOOL)\n\n- `\n ``\n ``\n `\n\n ### [GMSNavigationTransactionRecorderErrorHandler](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSNavigationTransactionRecorderErrorHandler)\n\n `\n ` \n\n #### Declaration\n\n Swift \n\n typealias GMSNavigationTransactionRecorderErrorHandler = (any Error) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSNavigationTransactionRecorderErrorHandler)(NSError *error)\n\n- `\n ``\n ``\n `\n\n ### [GMSRouteStatusCallback](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSRouteStatusCallback)\n\n `\n ` \n Called when a route from the device's location to the provided destination(s) is found, or fails\n to be found for a reason indicated by the RouteStatus.\n\n @related [GMSNavigator](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator) \n\n #### Declaration\n\n Swift \n\n typealias GMSRouteStatusCallback = (/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSRouteStatus) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSRouteStatusCallback)(/maps/documentation/navigation/ios-sdk/reference/objc/Enums/GMSRouteStatus)\n\n- `\n ``\n ``\n `\n\n ### [GMSRouteInfoCallback](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSRouteInfoCallback)\n\n `\n ` \n Called when the route information (ETA and distance) to the provided waypoint is calculated. \n\n #### Declaration\n\n Swift \n\n typealias GMSRouteInfoCallback = (/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationRouteInfo?) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSRouteInfoCallback)(/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigationRouteInfo *_Nullable)\n\n #### Parameters\n\n |-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | ` `*routeInfo*` ` | The route information to the given destination. Will be nil if the calculation fails. @related [GMSNavigator](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator) |\n\n- `\n ``\n ``\n `\n\n ### [GMSNavigationTransactionIDErrorHandler](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSNavigationTransactionIDErrorHandler)\n\n `\n ` \n Called if setting transaction IDs through the setTransactionIDs fails. Refer documentation for\n the API for more details.\n\n @related [GMSNavigator](/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSNavigator) \n\n #### Declaration\n\n Swift \n\n typealias GMSNavigationTransactionIDErrorHandler = (any Error) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSNavigationTransactionIDErrorHandler)(NSError *_Nonnull)\n\n- `\n ``\n ``\n `\n\n ### [GMSFeatureType](/maps/documentation/navigation/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/navigation/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/navigation/ios-sdk/reference/objc/Classes/GMSReverseGeocodeResponse?, (any Error)?) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSReverseGeocodeCallback)(/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSReverseGeocodeResponse *_Nullable,\n NSError *_Nullable)\n\n- `\n ``\n ``\n `\n\n ### [GMSMapPoint](/maps/documentation/navigation/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/navigation/ios-sdk/reference/objc/Structs/GMSMapPoint /maps/documentation/navigation/ios-sdk/reference/objc/Structs/GMSMapPoint\n\n- `\n ``\n ``\n `\n\n ### [GMSOrientation](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSOrientation)\n\n `\n ` \n [GMSOrientation](/maps/documentation/navigation/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/navigation/ios-sdk/reference/objc/Classes/GMSPanoramaCamera). \n\n #### Declaration\n\n Objective-C \n\n typedef struct /maps/documentation/navigation/ios-sdk/reference/objc/Structs/GMSOrientation /maps/documentation/navigation/ios-sdk/reference/objc/Structs/GMSOrientation\n\n- `\n ``\n ``\n `\n\n ### [GMSPanoramaCallback](/maps/documentation/navigation/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/navigation/ios-sdk/reference/objc/Classes/GMSPanoramaService) \n\n #### Declaration\n\n Swift \n\n typealias GMSPanoramaCallback = (/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSPanorama?, (any Error)?) -\u003e Void\n\n Objective-C \n\n typedef void (^GMSPanoramaCallback)(/maps/documentation/navigation/ios-sdk/reference/objc/Classes/GMSPanorama *_Nullable, NSError *_Nullable)\n\n- `\n ``\n ``\n `\n\n ### [GMSVisibleRegion](/maps/documentation/navigation/ios-sdk/reference/objc/Type-Definitions/GMSVisibleRegion)\n\n `\n ` \n [GMSVisibleRegion](/maps/documentation/navigation/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/navigation/ios-sdk/reference/objc/Structs/GMSVisibleRegion /maps/documentation/navigation/ios-sdk/reference/objc/Structs/GMSVisibleRegion\n\n- `\n ``\n ``\n `\n\n ### [GMSTileURLConstructor](/maps/documentation/navigation/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/navigation/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)"]]