我正在使用谷歌地图,我像这样为我的 map 设置标记:
var marker = GMSMarker(position: CLLocationCoordinate2D(latitude: Double(item.lat)!, longitude: Double(item.lon)!))
marker.map = mapview
现在,我想检测用户何时点击这些标记。
我该怎么办?
最佳答案
您应该在 viewDidLoad
中将您的 mapview
委托(delegate)设置为 self
UIViewController
self.mapview.delegate = self
你的 UIViewController
应该
extension ViewControllerClass: GMSMapViewDelegate {
//class code
@objc(mapView:didTapMarker:) func mapView(_: GMSMapView, didTap marker: GMSMarker) -> Bool {
//do something
return true
}
}
也许这个方法已经可以通过其他方式实现,但是 Xcode
迫使我在从 Swift 2
迁移到 Swift 3时采用这种方式
关于ios - 如何在谷歌地图中点击标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160083/