我很新的谷歌地圖API工作。我試圖讓用戶可以通過按住標記從地圖上刪除標記。我知道谷歌地圖內置了markerTapped函數以及didLongPressOnInfoWindow,但我似乎無法找到一種方法來檢測標記本身的長按。長按刪除谷歌地圖GMSMarker
我想知道是否有人知道在標記本身上實現長按手勢識別器的方法?或者,如果可能有更直觀的方式從地圖中刪除標記,而不是長按標記?
在此先感謝
我很新的谷歌地圖API工作。我試圖讓用戶可以通過按住標記從地圖上刪除標記。我知道谷歌地圖內置了markerTapped函數以及didLongPressOnInfoWindow,但我似乎無法找到一種方法來檢測標記本身的長按。長按刪除谷歌地圖GMSMarker
我想知道是否有人知道在標記本身上實現長按手勢識別器的方法?或者,如果可能有更直觀的方式從地圖中刪除標記,而不是長按標記?
在此先感謝
要移除標記
在斯威夫特3
//Press on Button Forcefully for long time
let pressHold = UILongPressGestureRecognizer(target: self, action: #selector(pressHolding(sender:))
self.mapView.addGestureRecognizer(pressHold)
//Handle in pressHolding Function
func pressHolding(recognizer: UILongPressGestureRecognizer)
{
if (recognizer.state == UIGestureRecognizerState.Began)
{
//Here you can do your task like delete or edit on market etc:-
}
}
//This is long Press function:-
func mapView(mapView: GMSMapView!, didLongPressAtCoordinate coordinate: CLLocationCoordinate2D) {
//Here handle your long press on map marker like:-
let camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6)
let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
mapView.clear()
}
Here you can find Objective-C and Swift All available Function of Markers
希望它會幫助你很多。
對不起,如果我不清楚。我在問如何檢測標記上的長按,而不是如何從地圖上刪除它。 – ThatOneGuy
@ThatOneGuy請你檢查更新答案 – Rex
根據您的標記的用途,可以更直觀地使用自定義視圖作爲標記的信息窗口,並在自定義視圖上有一個按鈕,用戶可以點擊以刪除標記。你也可以在UI上的某個按鈕上點擊按鈕(某種刪除按鈕)時刪除所選標記。刪除標記的最直觀的方式是部分個人偏好,部分是標記所標記的。 – RPatel99