2017-04-01 2 views
2

ich google map bin mit und ich setzen Markierungen auf meine Karte wie folgt aus:Wie klickbare für Marker in google map

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


marker.map = mapview 

jetzt, würde ich, wenn Benutzer klicken Sie auf diese Markierungen erkennen mögen.

Wie kann ich tun?

Antwort

3

sollten Sie setzen Ihre mapview Delegierten selfUIViewController in viewDidLoad

self.mapview.delegate = self 

Ihre UIViewController sollte

extension ViewControllerClass: GMSMapViewDelegate { 
    //class code 

    @objc(mapView:didTapMarker:) func mapView(_: GMSMapView, didTap marker: GMSMarker) -> Bool { 
     //do something 
     return true 
    } 
} 

vielleicht diese Methode kann eine andere Art und Weise bereits umgesetzt werden, aber Xcode mich gezwungen, es zu machen, Auf diese Weise während der Migration von Swift 2 zu Swift 3

2

Für Swift 3

Sie GMSMapViewDelegate so etwas wie dies umsetzen kann:

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