2016-12-02 7 views

ответ

11

Вы можете использовать GMSMarker.markerImage(with: <UIColor?>) для сброса значка маркера.

Docs: Google Maps iOS SDK GMSMarker Class Reference

import GoogleMaps 

// view controller 
class MapViewController: UIViewController { 

    // outlets 
    @IBOutlet weak var mapView: GMSMapView! 

    // view did load method 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     // set map view delegate 
     mapView.delegate = self 
    } 
} 

// extension for GMSMapViewDelegate 
extension MapViewController: GMSMapViewDelegate { 

    // tap map marker 
    func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool { 
     print("didTap marker \(marker.title)") 

     // remove color from currently selected marker 
     if let selectedMarker = mapView.selectedMarker { 
      selectedMarker.icon = GMSMarker.markerImage(with: nil) 
     } 

     // select new marker and make green 
     mapView.selectedMarker = marker 
     marker.icon = GMSMarker.markerImage(with: UIColor.green) 

     // tap event handled by delegate 
     return true 
    } 
}