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

时间:2017-04-05 08:08:43

标签: ios swift google-maps

我一直在构建谷歌地图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)) })
}

2 个答案:

答案 0 :(得分:6)

您需要为mapview设置委托。

path "/event_data/%Y/%m/data%d"

中设置委托
<property name="alternatedocroot_1" value="from=/images/* dir=/var/webapp" />

然后使用此方法

viewDidLoad

答案 1 :(得分:-1)

在您的班级中添加此委托。

GMSMapViewDelegate

现在,这将是您的标记动作。

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {

    mapView.delegate = self

    print("You tapped : \(marker.position.latitude),\(marker.position.longitude)") 
}