總覽
這是 Google Maps SDK for iOS 的主要類別,也是地圖所有相關方法的進入點。
地圖應使用其中一個建構函式 -init 或 -initWithOptions: 例項化。
GMSMapView 只能從主執行緒讀取和修改,類似於所有 UIKit 物件。從其他執行緒呼叫這些方法,會導致發生例外狀況或未定義的行為。
公開成員函式 | |
(instancetype) | - 初始化 |
使用 CGRectZero 和預設選項初始化。 | |
(instancetype) | - initWithOptions: |
使用指定的選項建立新的地圖檢視。 | |
(instancetype) | - initWithFrame: |
(可為空值的 instancetype) | - initWithCoder: |
(instancetype) | - initWithFrame:camera: |
建構並傳回具有影格和攝影機目標的地圖檢視。 | |
(instancetype) | - initWithFrame:mapID:camera: |
建構並傳回包含頁框、地圖 ID 和攝影機目標的地圖檢視。 | |
(void) | - startRendering |
告訴這張地圖強化轉譯器。 | |
(void) | - stopRendering |
指示這張地圖關閉轉譯器。 | |
(void) | - 清除 |
清除已加進地圖的所有標記,包括標記、折線和區域疊加層。 | |
(void) | - setMinZoom:maxZoom: |
可設定 minZoom 和 maxZoom 。 | |
(可為空值GMSCameraPosition *) | - cameraForBounds:insets: |
創建一個GMSCameraPosition,用 padding 呈現bounds 。 | |
(void) | - moveCamera: |
根據 update 變更相機。 | |
(BOOL) | - areEqualForRenderingPosition:position: |
請根據內部使用的精確度與轉換程度,檢查指定相機位置是否真的會導致相機轉譯的效果相同。 | |
(GMSFeatureLayer <GMSPlaceFeature * >*)。 | - featureLayerOfFeatureType: |
傳回指定類型的地圖項目圖層。 | |
(GMSDatasetFeatureLayer *) | - datasetFeatureLayerOfDatasetID: |
傳回指定資料集的資料集地圖項目圖層。 | |
(void) | - invalidateLayoutForAccessoryView: |
將配件檢視畫面失效,並觸發該檢視畫面的重新版面配置。 | |
(void) | - setHeaderAccessoryView: |
設定配件檢視畫面的位置,位於導覽 UI 主要標頭下方。 | |
(void) | - animateToCameraPosition: |
將這個地圖的相機動畫設為 cameraPosition 。 | |
(void) | - animateToLocation: |
做為 animateToCameraPosition:,但只變更相機位置 (即從目前位置變更為 location )。 | |
(void) | - animateToZoom: |
做為 animateToCameraPosition:,但只會變更相機的縮放等級。 | |
(void) | - animateToBearing: |
作為 animateToCameraPosition:,但只會變更相機航向 (以度為單位)。 | |
(void) | - animateToViewingAngle: |
做為 animateToCameraPosition:,但只會變更相機的視角 (以度為單位)。 | |
(void) | - animateWithCameraUpdate: |
將 cameraUpdate 套用至目前的相機,然後使用每個 animateToCameraPosition: 得到的結果。 | |
(void) | - doBeginPanTouch |
如要實作 CarPlay 地圖範本的平移手勢,應用程式實作的 CPMapTemplateDelegate 方法 -mapTemplate DidBeginPan 偏好: 必須呼叫這個方法。 | |
(void) | - doUpdatePanTouchWithTranslation:velocity: |
如要實作 CarPlay 地圖範本的平移手勢,就必須從應用程式的實作 CPMapTemplateDelegate 方法 -mapTemplate:didUpdatePan 不到 FeatureWithTranslation: 中呼叫這個方法。 | |
(void) | - doEndPanTouchWithVelocity: |
如要實作 CarPlay 地圖範本的平移手勢,就必須從應用程式的實作 CPMapTemplateDelegate 方法 -mapTemplate:didEndPanTouchWithVelocity: 呼叫這個方法。 | |
(BOOL) | - enableNavigationWithSession: |
使用指定的導航工作階段,在此地圖檢視中開始導航。 | |
靜態公開成員函式 | |
(instancetype) | + mapWithFrame:camera: |
建構並傳回含有影格和攝影機目標的地圖檢視。 | |
(instancetype) | + mapWithFrame:mapID:camera: |
便利初始化工具,可建構及傳回含有頁框、地圖 ID 和攝影機目標的地圖檢視。 | |
房源 | |
IBOutlet ID<GMSMapViewDelegate > | 委派 |
GMSMapView委任。 | |
GMSCameraPosition * | 鏡頭 |
控制相機,這會定義地圖的方向。 | |
GMSProjection * | 投影 |
傳回一個GMSProjection 物件,可用來在螢幕座標和經緯度座標之間轉換。 | |
BOOL | myLocationEnabled |
控管是否啟用「我的位置」點和精確度圓形。 | |
CLLocation * | myLocation |
如果已啟用「我的位置」,則顯示裝置位置圓點繪製的位置。 | |
GMSMarker * | selectedMarker |
選取的標記。 | |
BOOL | trafficEnabled |
控制地圖是否正在繪製交通資料 (如果有的話)。 | |
GMSMapViewType | mapType |
控制應顯示的地圖方塊類型。 | |
GMSMapStyle * | mapStyle |
控制地圖樣式。 | |
UIUserInterfaceStyle | overrideUserInterfaceStyle |
將地圖變更為所需的 [UIUserInterfaceStyle](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc)。 | |
浮點值 | minZoom |
最小縮放 (鏡頭最遠的位置可能會縮小)。 | |
浮點值 | maxZoom |
最大縮放等級 (距離地球最近的相機可能為「地球」)。 | |
BOOL | buildingsEnabled |
設定後,畫面上會顯示 3D 建築物 (如果有的話)。 | |
BOOL | indoorEnabled |
設定是否顯示室內地圖 (如果有的話)。 | |
GMSIndoorDisplay * | indoorDisplay |
取得GMSIndoorDisplay執行個體,該例項可觀察或控制室內資料顯示畫面的各方面。 | |
GMSUISettings * | 設定 |
取得GMSUISettings物件,該物件控制地圖的使用者介面設定。 | |
UIEdgeInsets | 邊框間距 |
控制「顯示」也就是檢視區域 | |
GMSMapViewPaddingAdjustmentBehavior | paddingAdjustmentBehavior |
控管在邊框間距值中加入安全區域插邊的方式。 | |
BOOL | accessibilityElementsHidden |
預設值為 YES。 | |
GMSMapLayer * | 圖層 |
用於圖層的自訂 CALayer 類型的存取子。 | |
GMSFrameRate | preferredFrameRate |
控管轉譯影格速率。 | |
GMSCoordinateBounds * | cameraTargetBounds |
如果非 nil,則會限制攝影機目標,讓手勢無法離開指定邊界。 | |
GMSMapCapabilityFlags | mapCapabilities |
目前可使用的所有特定條件提供功能 (取決於 mapID 或其他地圖設定)。 | |
IBOutlet ID <GMSMapViewNavigationUIDelegate > | navigationUIDelegate |
一個委任GMSMapView 接收導覽 UI 事件的回呼。 | |
BOOL | navigationEnabled |
指出這個地圖是否已啟用導航功能。 | |
GMSNavigator * | 導航工具 |
此導航的導航器GMSMapView允許通過路線要求和即時路線導引。 | |
GMSRoadSnappedLocationProvider * | roadSnappedLocationProvider |
允許訂閱道路封閉位置更新。 | |
GMSLocationSimulator * | locationSimulator |
可讓您模擬裝置位置。 | |
GMSNavigationCameraMode | cameraMode |
相機模式,決定 NavigationEnabled 屬性設為 YES 時的行為。 | |
GMSNavigationCameraPerspective | followingPerspective |
追蹤裝置位置時使用的相機視角。 | |
GMSNavigationTravelMode | travelMode |
交通方式會決定系統擷取的路線類型,以及判斷裝置課程的方式。 | |
GMSNavigationLightingMode | lightingMode |
光源模式會決定地圖算繪時使用的色彩配置。 | |
BOOL | shouldDisplaySpeedLimit |
決定是否在導航啟用時顯示速限,以及有速限資料。 | |
BOOL | shouldDisplaySpeedometer |
指定是否顯示計速器圖示。 | |
UILayoutGuide * | navigationHeaderLayoutGuide |
導覽標題覆蓋的矩形。 | |
UILayoutGuide * | navigationFooterLayoutGuide |
覆蓋在頁尾的矩形。 | |
GMSNavigationRouteCalloutFormat | routeCalloutFormat |
指定要使用的路線摘要格式 (預設、時間或距離)。 | |
浮點值 | followingZoomLevel |
自訂導航期間的縮放等級。 | |
GMSRoadSnappedLocationProvider * | roadSnappedMyLocationSource |
設定這個地圖檢視的「我的位置」提供程式。 | |
相關函式 | |
(請注意,這些並非成員函式)。 | |
NSString *const | kGMSAccessibilityCompass |
指南針按鈕的無障礙 ID。 | |
NSString *const | kGMSAccessibilityMyLocation |
「我的位置」的無障礙 ID按鈕。 | |
NSString *const | kGMSAccessibilityOutOfQuota |
「配額不足」的無障礙 ID錯誤標籤。 |
成員職能說明文件
- (執行個體類型) init |
使用 CGRectZero 和預設選項初始化。
- (執行個體類型) initWithOptions: | (nonnull GMSMapViewOptions *) | 選項 |
使用指定的選項建立新的地圖檢視。
這個方法會複製選項物件的值。
- (執行個體類型) initWithFrame: | (CGRect) | 影格 |
- (可為空值的執行個體類型) initWithCoder: | (NSCoder *)。 | 編碼器 |
+ (instancetype) mapWithFrame: | (CGRect) | 影格 | |
相機: | (GMSCameraPosition *) | 攝影機 | |
建構並傳回含有影格和攝影機目標的地圖檢視。
+ (instancetype) mapWithFrame: | (CGRect) | 影格 | |
mapID: | (GMSMapID *) | mapID | |
相機: | (GMSCameraPosition *) | 攝影機 | |
便利初始化工具,可建構及傳回含有頁框、地圖 ID 和攝影機目標的地圖檢視。
- (執行個體類型) initWithFrame: | (CGRect) | 影格 | |
相機: | (GMSCameraPosition *) | 攝影機 | |
建構並傳回具有影格和攝影機目標的地圖檢視。
- 注意:
- 這項功能已淘汰,請改用 -init 或 -initWithOptions:。
- (執行個體類型) initWithFrame: | (CGRect) | 影格 | |
mapID: | (GMSMapID *) | mapID | |
相機: | (GMSCameraPosition *) | 攝影機 | |
建構並傳回包含頁框、地圖 ID 和攝影機目標的地圖檢視。
- 注意:
- 這項功能已淘汰,請改用 -init 或 -initWithOptions:。
- (無效) startRendering |
告訴這張地圖強化轉譯器。
此為選用與冪等的。
- 注意:
- 這項功能已淘汰,這個方法已過時,將在日後推出的版本中移除。
- (void) stopRendering |
指示這張地圖關閉轉譯器。
此為選用與冪等的。
- 注意:
- 這項功能已淘汰,這個方法已過時,將在日後推出的版本中移除。
- (避免) 清除 |
清除已加進地圖的所有標記,包括標記、折線和區域疊加層。
這不會清除可見的位置圓點,或重設目前的 mapType。
- (void) setMinZoom: | (浮點值) | minZoom | |
maxZoom: | (浮點值) | maxZoom | |
可設定 minZoom
和 maxZoom
。
這個方法會預期最小值小於或等於最大值,否則將擲回名稱為 NSRangeException 的例外狀況。
- (可為空值 GMSCameraPosition *) cameraForBounds: | (GMSCoordinateBounds *) | bounds | |
插邊: | (UIEdgeInsets) | 插邊 | |
創建一個GMSCameraPosition,用 padding
呈現bounds
。
相機會有零方位和傾斜角度 (例如面向北方,並且正視地球)。它採用了此框架和邊框間距GMSMapView包含的資訊。
如果界限無效,此方法會傳回 nil 相機。
- (void) moveCamera: | (GMSCameraUpdate *) | 更新 |
根據 update
變更相機。
相機會立即變更 (沒有動畫)。
- (BOOL) 是 EqualForRenderingPosition: | (GMSCameraPosition *) | position | |
位置: | (GMSCameraPosition *) | otherPosition | |
請根據內部使用的精確度與轉換程度,檢查指定相機位置是否真的會導致相機轉譯的效果相同。
- (GMSFeatureLayer<GMSPlaceFeature *> *) featureLayerOfFeatureType: | (GMSFeatureType) | featureType |
傳回指定類型的地圖項目圖層。
您必須在 Cloud 控制台中設定特徵層。
如果這張地圖中沒有指定類型的圖層,或是未啟用資料導向樣式,或未使用 Metal 算繪架構,產生的圖層的 `isAvailable` 將會是 NO
,且不會回應任何呼叫。
需要使用金屬轉譯器。如要瞭解如何啟用 Metal,請前往 https://developers.google.com/maps/documentation/ios-sdk/config#use-metal。
- (GMSDatasetFeatureLayer *) datasetFeatureLayerOfDatasetID: | (NSString *) | datasetID |
傳回指定資料集的資料集地圖項目圖層。
您必須在 Cloud 控制台中設定資料集 ID。
如果這個地圖上沒有指定 ID 的資料集,或是未啟用資料導向樣式,產生的圖層的 `isAvailable` 將會是 NO
,且不會回應任何呼叫。
- (void) invalidateLayoutForAccessoryView: | (UIView< GMSNavigationAccessoryView > *) | accessoryView |
將配件檢視畫面失效,並觸發該檢視畫面的重新版面配置。
檢視畫面必須是目前的配件檢視畫面。如果導遊未啟用,這場通話便為 NO-OP 指示。
- (void) setHeaderAccessoryView: | (nullable UIView< GMSNavigationAccessoryView > *) | headerAccessoryView |
設定配件檢視畫面的位置,位於導覽 UI 主要標頭下方。
傳遞 nil 值會移除配件檢視畫面。如果導遊未啟用,這場通話便為 NO-OP 指示。
@note 如果地圖檢視畫面太短,SDK 會因為空間有限而隱藏配件檢視畫面。檢視畫面由內部管理,以最佳化地圖的顯示方式。
- (void) animateToCameraPosition: | (GMSCameraPosition *) | cameraPosition |
將這個地圖的相機動畫設為 cameraPosition
。
- (void) animateToLocation: | (CLLocationCoordinate2D) | 位置資訊 |
做為 animateToCameraPosition:,但只變更相機位置 (即從目前位置變更為 location
)。
- (void) animateToZoom: | (浮點值) | 縮放 |
做為 animateToCameraPosition:,但只會變更相機的縮放等級。
這個值會受 [kGMSMinZoomLevel, kGMSMaxZoomLevel] 限制。
- (避免) animateToBearing: | (CLLocationDirection) | 熊 |
作為 animateToCameraPosition:,但只會變更相機航向 (以度為單位)。
0 代表正北。
- (void) animateToViewingAngle: | (雙精度浮點數) | viewingAngle |
做為 animateToCameraPosition:,但只會變更相機的視角 (以度為單位)。
這個值會取向地面的最小零 (即直線朝下) 以及距離地平線 30 到 45 度之間的下限 (視距離地球的相對接近程度而定)。
- (void) animateWithCameraUpdate: | (GMSCameraUpdate *) | cameraUpdate |
將 cameraUpdate
套用至目前的相機,然後使用每個 animateToCameraPosition: 得到的結果。
didBeginPanGesture | - (void)
如要實作 CarPlay 地圖範本的平移手勢,應用程式實作的 CPMapTemplateDelegate 方法 -mapTemplate DidBeginPan 偏好: 必須呼叫這個方法。
這項功能仍在正式發布前的實驗功能推出階段 https://developers.google.com/maps/launch-stages#preview。
- (void) wasUpdatePanphraseWithTranslation: | (CGPoint) | 翻譯 | |
速率: | (CGPoint) | 速率 | |
如要實作 CarPlay 地圖範本的平移手勢,就必須從應用程式的實作 CPMapTemplateDelegate 方法 -mapTemplate:didUpdatePan 不到 FeatureWithTranslation: 中呼叫這個方法。
這項功能仍在正式發布前的實驗功能推出階段 https://developers.google.com/maps/launch-stages#preview。
didEndPanGestureWithVelocity: | - (void)(CGPoint) | 速率 |
如要實作 CarPlay 地圖範本的平移手勢,就必須從應用程式的實作 CPMapTemplateDelegate 方法 -mapTemplate:didEndPanTouchWithVelocity: 呼叫這個方法。
這項功能仍在正式發布前的實驗功能推出階段 https://developers.google.com/maps/launch-stages#preview。
- (BOOL) enableNavigationWithSession: | (GMSNavigationSession *) | navigationSession |
使用指定的導航工作階段,在此地圖檢視中開始導航。
- 注意:
- 為了盡可能使用記憶體和 CPU,請先呼叫這個方法,再在此地圖檢視畫面中叫用任何其他導覽相關方法。
- 傳回:
- 指出導覽是否已成功啟動 (舉例來說,如果尚未接受條款及細則,系統就不會傳回 NO)。
好友及相關功能說明文件
- (NSString* const) kGMSAccessibilityCompass [related] |
指南針按鈕的無障礙 ID。
- (NSString* const) kGMSAccessibilityMyLocation [related] |
「我的位置」的無障礙 ID按鈕。
- (NSString* const) kGMSAccessibilityOutOfQuota [related] |
「配額不足」的無障礙 ID錯誤標籤。
屬性說明文件
- (IBOutlet id<GMSMapViewDelegate>) 委派 [read, write, assign] |
GMSMapView委任。
- (GMSCameraPosition*) camera [read, write, copy] |
控制相機,這會定義地圖的方向。
這個屬性會立即修改。
- (GMSProjection*) 投影 [read, assign] |
傳回一個GMSProjection 物件,可用來在螢幕座標和經緯度座標之間轉換。
這是目前投影的快照,相機移動時不會自動更新。它代表上次繪製的投影GMSMapView框架,或已明確設定相機或剛建立地圖,即下一個影格。從來永遠不為人知。
- (BOOL) myLocationEnabled [read, write, assign] |
控管是否啟用「我的位置」點和精確度圓形。
預設值為 NO。
- (CLLocation*) myLocation [read, assign] |
如果已啟用「我的位置」,則顯示裝置位置圓點繪製的位置。
如果停用,或是啟用了此功能,但沒有地區資料可用,這個選項會顯示為「空白」。您可以使用 KVO 觀察這個屬性。
- (GMSMarker*) selectedMarker [read, write, assign] |
選取的標記。
設定此屬性可選取特定標記,並在該標記上顯示資訊視窗。如果這個屬性不是 nil,設為 nil 就會取消選取標記,並隱藏資訊視窗。您可以使用 KVO 觀察這個屬性。
- (BOOL) trafficEnabled [read, write, assign] |
控制地圖是否正在繪製交通資料 (如果有的話)。
實際情況取決於是否有路況資料。預設值為 NO。
- (GMSMapViewType) mapType [read, write, assign] |
控制應顯示的地圖方塊類型。
預設為 kGMSTypeNormal 。
- (GMSMapStyle*) mapStyle [read, write, assign] |
控制地圖樣式。
只有在 mapType 為「Normal」時,才會套用非 nil 的地圖樣式。
- (UIUserInterfaceStyle) overrideUserInterfaceStyle [read, write, assign] |
將地圖變更為所需的 [UIUserInterfaceStyle](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc)。
這會覆寫預設的 UIKit 行為,並預設為 UIUserInterfaceStyleLight,確保回溯相容性。這會影響一般和地形地圖類型的色彩配置。
- (浮點) minZoom [read, assign] |
最小縮放 (鏡頭最遠的位置可能會縮小)。
預設值為 kGMSMinZoomLevel。使用 -setMinZoom:maxZoom: 修改。
- (浮點值) maxZoom [read, assign] |
最大縮放等級 (距離地球最近的相機可能為「地球」)。
預設為 kGMSMaxZoomLevel。使用 -setMinZoom:maxZoom: 修改。
- (BOOL) buildingsEnabled [read, write, assign] |
設定後,畫面上會顯示 3D 建築物 (如果有的話)。
預設值為 YES。
在將自訂方塊圖層加入地圖時,這將可以派上用場,讓您在高縮放等級下更清晰。變更這個值會導致所有圖塊都會短暫失效。
- (BOOL) indoorEnabled [read, write, assign] |
設定是否顯示室內地圖 (如果有的話)。
預設值為 YES。
如果設為 NO,系統可能會清除室內資料的快取,並重設使用者目前選取的任何樓層。
- (GMSIndoorDisplay*) indoorDisplay [read, assign] |
取得GMSIndoorDisplay執行個體,該例項可觀察或控制室內資料顯示畫面的各方面。
- (GMSUISettings*) 設定 [read, assign] |
取得GMSUISettings物件,該物件控制地圖的使用者介面設定。
- (UIEdgeInsets) 邊框間距 [read, write, assign] |
控制「顯示」也就是檢視區域
透過在檢視畫面邊緣套用邊框間距即可建立,其中將包含地圖資料,但不會包含 UI 控制項。
如果未平衡邊框間距,檢視畫面的視覺中心會隨之移動。邊框間距也會影響 projection
屬性,因此可見區域不包含邊框間距區域。GMSCameraUpdate FitToBounds 會確保這次的邊框間距和任何要求的邊框間距都會納入考量。
這個屬性可在 UIView 式動畫區塊內建立動畫。
- (GMSMapViewPaddingAdjustmentBehavior) paddingAdjustmentBehavior [read, write, assign] |
控管在邊框間距值中加入安全區域插邊的方式。
就像邊框間距、安全區域插邊位置地圖控制項,例如指南針、「我的位置」按鈕和裝置安全區域內的樓層挑選器。
預設為 kGMSMapViewPaddingAdjustBehaviorAlways。
- (BOOL) accessibilityElementsHidden [read, write, assign] |
預設值為 YES。
如果設為 NO,GMSMapView 將會產生疊加層物件的無障礙元素,例如 GMSMarker 和 GMSPolyline。
這個屬性遵循非正式的 UI 無障礙通訊協定,但預設值為 YES。
- (GMSMapLayer*) 圖層 [read, retain] |
用於圖層的自訂 CALayer 類型的存取子。
- (GMSFrameRate) preferredFrameRate [read, write, assign] |
控管轉譯影格速率。
預設值為 kGMSFrameRate 好好。
- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign] |
如果非 nil,則會限制攝影機目標,讓手勢無法離開指定邊界。
- (GMSMapCapabilityFlags) mapCapabilities [read, assign] |
目前可使用的所有特定條件提供功能 (取決於 mapID 或其他地圖設定)。
但不含一律可用的功能。
- (IBOutlet ID<GMSMapViewNavigationUIDelegate>) navigationUIDelegate [read, write, assign] |
一個委任GMSMapView 接收導覽 UI 事件的回呼。
- (BOOL) navigationEnabled [read, write, assign] |
指出這個地圖是否已啟用導航功能。
如果為「是」,表示路線和行車路線可在地圖上顯示,相機可進入以下模式,當相機未跟隨裝置位置時,就會出現重新置中按鈕。
如果使用者尚未接受 Google 導航的條款及細則,設定這個屬性就不會有任何作用。若要顯示條款及細則對話方塊,請參閱方法GMSNavigationServices 。
- (GMSNavigator*) 導航器 [read, assign] |
此導航的導航器GMSMapView允許通過路線要求和即時路線導引。
如果使用者尚未接受 Google 導航的條款及細則,瀏覽器將自動顯示此列。若要顯示條款及細則對話方塊,請參閱方法GMSNavigationServices 。
- (GMSRoadSnappedLocationProvider*) roadSnappedLocationProvider [read, assign] |
允許訂閱道路封閉位置更新。
如果使用者尚未接受 Google 導航的條款及細則,瀏覽器將自動顯示此列。若要顯示條款及細則對話方塊,請參閱方法GMSNavigationServices 。
- (GMSLocationSimulator*) locationSimulator [read, assign] |
可讓您模擬裝置位置。
模擬位置會影響 V 形標記在地圖上的位置、即時路線指引進度,以及由道路封閉的定位服務供應商提供的更新資訊。
如果使用者尚未接受 Google 導航的條款及細則,瀏覽器將自動顯示此列。若要顯示條款及細則對話方塊,請參閱方法GMSNavigationServices 。
- (GMSNavigationCameraMode) cameraMode [read, write, assign] |
相機模式,決定在 NavigationEnabled 屬性設為 YES 時的行為。
如要瞭解可用的模式,請參閱 GMSNavigationCameraMode
。
- (GMSNavigationCameraPerspective) followingPerspective [read, write, assign] |
追蹤裝置位置時使用的相機視角。
navigationEnabled
屬性必須設定為 YES,cameraMode
必須設定為 GMSNavigationCameraModeFollowing,
- (GMSNavigationTravelMode) travelMode [read, write, assign] |
交通方式會決定系統擷取的路線類型,以及判斷裝置課程的方式。
在行車模式中,裝置課程是以移動方向為依據,在單車或步行模式中則會以裝置面對的指南針方向調整。裝置課程由裝置位置標記的方向表示,並由該方向回報GMSRoadSnappedLocationProvider。
- (GMSNavigationLightingMode) lightingMode [read, write, assign] |
光源模式會決定地圖算繪時使用的色彩配置。
這個程式庫也可用於判斷各種介面元素的預設色彩。
- (BOOL) shouldDisplaySpeedLimit [read, write, assign] |
決定是否在導航啟用時顯示速限,以及有速限資料。
預設值為 NO。
- (BOOL) shouldDisplaySpeedometer [read, write, assign] |
指定是否顯示計速器圖示。
啟用時,系統會在指引下角顯示車速,並在畫面下方顯示車速。有可靠的速限資料時,速限圖示也會顯示,且附有計速器圖示。計速器圖示會根據速度快訊的嚴重程度,顯示不同的文字和背景色彩。
如果最近按下重新置中按鈕,系統會在顯示最近按下的按鈕時,暫時隱藏速限和計速器圖示。
- (UILayoutGuide*) navigationHeaderLayoutGuide [read, assign] |
導覽標題覆蓋的矩形。
標頭隱藏時,高度為 0。
- (UILayoutGuide*) navigationFooterLayoutGuide [read, assign] |
覆蓋在頁尾的矩形。
隱藏頁尾時,高度為 0。
- (GMSNavigationRouteCalloutFormat) routeCalloutFormat [read, write, assign] |
指定要使用的路線摘要格式 (預設、時間或距離)。
- (浮點值) followingZoomLevel [read, write, assign] |
自訂導航期間的縮放等級。
當相機跟隨裝置位置 (亦即 cameraMode
等於 GMSNavigationCameraModeFollowing
) 時,設定這個值會覆寫預設的 Navigation SDK 縮放等級。如果沒有應使用縮放等級覆寫設定,則可設為 GMSNavigationNoFollowingZoomLevel
。
- (GMSRoadSnappedLocationProvider*) roadSnappedMyLocationSource [read, write, assign] |
設定這個地圖檢視的「我的位置」提供程式。
一般來說,地圖檢視的「我的位置」點和精確度圓形是由裝置實際位置所決定的。設定這個屬性後,「我的位置」圓點和精確度圓圈就會改為根據指定位置服務供應商所插入的道路封閉位置。如要恢復正常行為,請將這個屬性設為 nil。
為此地圖檢視開啟 navigationEnabled
時,不會有任何作用。