为什么我的'didTap marker'功能不起作用?

kon*_*v12 4 google-maps ios swift

我一直在构建谷歌地图iOS应用程序,不知怎的,我的'didTap标记'功能不起作用.如果我点击地图上的标记,整个视图只是被拖到左边,但没有代码运行.否则,下面的打印功能将起作用.哪里可能会导致这个问题?

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)) })
}
Run Code Online (Sandbox Code Playgroud)

Moi*_*azi 6

您需要为mapview设置委托.

设置委托 viewDidLoad

myGMSMapView.delegate = self
Run Code Online (Sandbox Code Playgroud)

然后使用这种方法

 func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
        <#code#>
    }
Run Code Online (Sandbox Code Playgroud)