Skip to main content

Working with Markers for iOS

Getting Marker from Location

If a MPLocation has been displayed on a map, the marker can be retrieved using location.marker. On the opposite, get a MPLocation from a GMSMarker using getLocation(marker: GMSMarker) on MPMapControl:

myMapControl.getLocation(marker : GMSMarker!)

Handling Marker Selections

Detecting the user tapping a marker or an infowindow is part of the Google Maps SDK for iOS. Assign myGMSMapView.delegate and implementing the methods: mapView.didTapMarker(marker: GMSMarker) and mapView.didTapInfoWindowOfMarker(marker: GMSMarker)

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
let location = mapControl?.getLocation(marker)
if location != nil {
myTextLabel.text = location!.name
}
return false
}

func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) -> Bool {
let location = mapControl?.getLocation(marker)
if location != nil {
myTextLabel.text = location!.name
}
return false
}