總覽
在 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 代表目前地圖項目的旗標。