我一直在构建 Google Maps iOS 应用程序,但不知何故我的“didTap 标记”功能不起作用。如果我点击 map 上的标记,整个 View 只会被拖到左边,但不会运行任何代码。否则,下面的打印功能将起作用。哪里可能会导致这个问题?
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker){
var lat: CLLocationDegrees = marker.position.latitude
var lng: CLLocationDegrees = marker.position.longitude
var formattedCoordinate = CLLocationCoordinate2D(latitude: lat,longitude: lng)
print("markersArray is \(markersArray)")
print("formattedCoordinate is \(formattedCoordinate)")
markersArray = markersArray.filter({ !(($0.latitude == formattedCoordinate.latitude) && ($0.longitude == formattedCoordinate.longitude)) })
}
最佳答案
您需要为 map View 设置委托(delegate)。
在 viewDidLoad
中设置委托(delegate)
myGMSMapView.delegate = self
然后用这个方法
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
<#code#>
}
关于ios - 为什么我的 'didTap marker' 函数不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43225419/