<GMSMapViewDelegate> 通訊協定參考資料

<GMSMapViewDelegate>通訊協定參考資料

總覽

GMSMapView 上委派事件。

公開成員函式

(無效)- mapView:willMove:
 在地圖上的相機變更時,可能發生下列問題:手勢、動畫 (例如使用者輕觸「我的位置」按鈕) ;或是透過相機明確更新,或是圖層上的零動畫動畫。
(無效)- mapView:didChangeCameraPosition:
 在地圖上任何動畫或手勢上重複呼叫 (如果是明確設定相機,則會呼叫一次)。
(無效)- mapView:idleAtCameraPosition:
 在尚未完成的手勢或動畫 (或明確設定相機) 後,地圖閒置時呼叫。
(無效)- mapView:didTapAtCoordinate:
 在符合特定座標的輕觸手勢後呼叫,但前提是必須輕觸標記。
(無效)- mapView:didLongPressAtCoordinate:
 長按特定手勢後呼叫。
(BOOL)- mapView:didTapMarker:
 輕觸標記後呼叫。
(無效)- mapView:didTapInfoWindowOfMarker:
 輕觸標記的資訊視窗後呼叫。
(無效)- mapView:didLongPressInfoWindowOfMarker:
 長按標記的資訊視窗後呼叫。
(無效)- mapView:didTapOverlay:
 輕觸疊加層後呼叫。
(無效)- mapView:didTapPOIWithPlaceID:name:location:
 在輕觸搜尋點後呼叫。
(可為空值的 UIView *)- mapView:markerInfoWindow:
 在標記即將選取時呼叫,且如果此方法傳回 UIView,可選擇使用該標記的自訂資訊視窗。
(可為空值的 UIView *)- mapView:markerInfoContents:
 呼叫 mapView:markerInfoWindow:傳回 nil 時呼叫。
(無效)- mapView:didCloseInfoWindowOfMarker:
 在標記資訊視窗關閉時呼叫。
(無效)- mapView:didBeginDraggingMarker:
 在拖曳標記時呼叫。
(無效)- mapView:didEndDraggingMarker:
 在結束標記後呼叫。
(無效)- mapView:didDragMarker:
 在標記拖曳時呼叫。
(BOOL)- didTapMyLocationButtonForMapView:
 輕觸「我的位置」按鈕時呼叫。
(無效)- mapView:didTapMyLocation:
 當輕觸「我的位置」點時呼叫。
(無效)- mapViewNotStartTileRendering:
 在剛剛要求圖塊,或標籤才剛開始顯示時呼叫。
(無效)- mapViewNotFinishTileRendering:
 所有圖塊均已載入 (或永久失敗) 且已轉譯標籤時,會呼叫此方法。
(無效)- mapViewSnapshotReady:
 在地圖穩定 (已載入資訊方塊、轉譯標籤、相機閒置) 和疊加層物件已經算繪時呼叫。
(無效)- mapView:didChangeMapCapabilities:
 每次變更地圖項目時呼叫。

成員函式說明文件

- (void) mapView: (GMSMapView *) MapView
動作: (BOOL) 手勢
[optional]

在地圖上的相機變更時,可能發生下列問題:手勢、動畫 (例如使用者輕觸「我的位置」按鈕) ;或是透過相機明確更新,或是圖層上的零動畫動畫。

參數:
地圖檢視使用者輕觸的地圖檢視。
手勢如果答案為「是」,就會因為使用者的手勢而發生這個問題。
- (void) mapView: (GMSMapView *) MapView
hadChangeCameraPosition: (GMSCameraPosition *) position
[optional]

在地圖上任何動畫或手勢上重複呼叫 (如果是明確設定相機,則會呼叫一次)。

並非所有中繼相機位置都不會呼叫這個程式碼。動畫或手勢的最後一個位置一律會呼叫此方法。

- (void) mapView: (GMSMapView *) MapView
閒置 AtCameraPosition: (GMSCameraPosition *) position
[optional]

在尚未完成的手勢或動畫 (或明確設定相機) 後,地圖閒置時呼叫。

- (void) mapView: (GMSMapView *) MapView
wasTapAtCoordinate: (CLLocationCoordinate2D) 座標
[optional]

在符合特定座標的輕觸手勢後呼叫,但前提是必須輕觸標記。

系統會先呼叫此方法,才能取消選取目前選取的標記 (輕觸輕觸的隱含動作)。

- (void) mapView: (GMSMapView *) MapView
wasLongPressAtCoordinate: (CLLocationCoordinate2D) 座標
[optional]

長按特定手勢後呼叫。

參數:
地圖檢視使用者輕觸的地圖檢視。
座標使用者輕觸的位置。
- (BOOL) mapView: (GMSMapView *) MapView
wasTapMarker: (GMSMarker *) 標記
[optional]

輕觸標記後呼叫。

參數:
地圖檢視使用者輕觸的地圖檢視。
馬克筆使用者輕觸的標記。
傳回:
如果這個委派項目會處理輕觸事件,導致地圖無法執行預設的選取行為,則為「否」。
- (void) mapView: (GMSMapView *) MapView
amTapInfoWindowOfMarker: (GMSMarker *) 標記
[optional]

輕觸標記的資訊視窗後呼叫。

- (void) mapView: (GMSMapView *) MapView
wasLongPressInfoWindowOfMarker: (GMSMarker *) 標記
[optional]

長按標記的資訊視窗後呼叫。

- (void) mapView: (GMSMapView *) MapView
hadTapOverlay: (GMSOverlay *) 重疊廣告
[optional]

輕觸疊加層後呼叫。

系統不會針對輕觸標記呼叫此方法。

參數:
地圖檢視使用者輕觸的地圖檢視。
overlay使用者輕觸的疊加層。
- (void) mapView: (GMSMapView *) MapView
hadTapWithPlaceID: (NSString *) PlaceID
name: (NSString *) name
位置: (CLLocationCoordinate2D) location
[optional]

在輕觸搜尋點後呼叫。

參數:
地圖檢視使用者輕觸的地圖檢視。
地點 ID使用者輕觸的搜尋點的地點 ID。
名稱使用者輕觸的搜尋點名稱。
位置使用者輕觸的搜尋點位置。
- (可為空值的 UIView *) mapView: (GMSMapView *) MapView
tagInfoWindow: (GMSMarker *) 標記
[optional]

在標記即將選取時呼叫,且如果此方法傳回 UIView,可選擇使用該標記的自訂資訊視窗。

如果您在呼叫此方法後變更這個檢視畫面,那麼這些變更並不會反映在算繪版本中。

傳回的 UIView 在任一維度上的邊界不得超過 500 點。由於一次只能顯示一個資訊視窗,因此返回的資訊視窗可能會在其他資訊視窗之間重複使用。

如果在此呼叫期間,將標記從地圖中移除或更改地圖的所選標記,會導致未定義的行為。

傳回:
指定標記的自訂資訊視窗,或預設為預設值
- (可為空值的 UIView *) mapView: (GMSMapView *) MapView
tagInfoContents: (GMSMarker *) 標記
[optional]

呼叫 mapView:markerInfoWindow:傳回 nil 時呼叫。

如果這個方法傳回檢視畫面,系統會將其置於預設資訊視窗頁框中。如果這個方法傳回 nil,就會改用預設的轉譯。

參數:
地圖檢視已按下的地圖檢視。
馬克筆已按下的標記。
傳回:
在資訊視窗中顯示為自訂內容的自訂檢視畫面,或是改為使用預設內容算繪
- (void) mapView: (GMSMapView *) MapView
wasCloseInfoWindowOfMarker: (GMSMarker *) 標記
[optional]

在標記資訊視窗關閉時呼叫。

- (void) mapView: (GMSMapView *) MapView
hadStartDraggingMarker: (GMSMarker *) 標記
[optional]

在拖曳標記時呼叫。

- (void) mapView: (GMSMapView *) MapView
wasEndDraggingMarker: (GMSMarker *) 標記
[optional]

在結束標記後呼叫。

- (void) mapView: (GMSMapView *) MapView
hadDragMarker: (GMSMarker *) 標記
[optional]

在標記拖曳時呼叫。

- (BOOL) didTapMyLocationButtonForMapView: (GMSMapView *) MapView [optional]

輕觸「我的位置」按鈕時呼叫。

傳回:
如果事件監聽器已取用事件 (即不是預設行為),則為「其他」,也就是出現預設行為。預設行為是讓相機移動裝置,使其置於裝置位置的中心。
- (void) mapView: (GMSMapView *) MapView
wasTapMyLocation: (CLLocationCoordinate2D) location
[optional]

當輕觸「我的位置」點時呼叫。

參數:
地圖檢視使用者輕觸的地圖檢視。
位置使用者輕觸位置圓點的位置。
- (void) mapViewNotStartTileRendering: (GMSMapView *) MapView [optional]

在剛剛要求圖塊,或標籤才剛開始顯示時呼叫。

- (void) mapViewNotFinishTileRendering: (GMSMapView *) MapView [optional]

所有圖塊均已載入 (或永久失敗) 且已轉譯標籤時,會呼叫此方法。

- (void) mapViewSnapshotReady: (GMSMapView *) MapView [optional]

在地圖穩定 (已載入資訊方塊、轉譯標籤、相機閒置) 和疊加層物件已經算繪時呼叫。

- (void) mapView: (GMSMapView *) MapView
wasChangeMapCapabilities: (GMSMapCapabilityFlags) mapCapabilities
[optional]

每次變更地圖項目時呼叫。

參數:
地圖檢視地圖功能已變更的地圖檢視。
mapCapabilities代表目前地圖項目的旗標。