2017-04-01 56 views
2

標記我使用谷歌地圖和我設置標記,以我的地圖是這樣的:如何點擊在谷歌地圖

var marker = GMSMarker(position: CLLocationCoordinate2D(latitude: Double(item.lat)!, longitude: Double(item.lon)!)) 


marker.map = mapview 
現在

,我想,以檢測這些標記,當用戶點擊。

我該怎麼辦?

回答

3

您應將mapview委託設置爲selfUIViewControllerviewDidLoad

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

2

對於斯威夫特3

您可以實現GMSMapViewDelegate是這樣的:

extension YourViewConytoller: GMSMapViewDelegate { 
    func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool { 
     print ("MarkerTapped Locations: \(marker.position.latitude), \(marker.position.longitude)") 
     return true 
    } 
}