/ / Comment faire en sorte que les annotations ressemblent à l'indicateur d'emplacement actuel? - ios, swift, mkmapview

Comment faire en sorte que les annotations ressemblent à l'indicateur d'emplacement actuel? - ios, swift, mkmapview

J'essaie de personnaliser les annotations sur la carte et, au lieu des repères, je veux que les annotations ressemblent à l'indicateur d'emplacement actuel. Comment je ferais ça? Tout conseil serait bon!

Réponses:

1 pour la réponse № 1

En général, vous pouvez utiliser un objet d'annotation personnalisé qui étend MKPointAnnotation. Mais si vous avez juste besoin de changer d'image pin, vous pouvez éviter les sous-classes et implémenter cette méthode.

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {

let identifier = "MyPin"

if annotation.isKindOfClass(MKUserLocation) {
return nil
}

var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier(identifier)

if let annotationView = annotationView {
annotationView.annotation = annotation
} else {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: identifier)
annotationView.image = UIImage(named: "myPinImage")
}

return annotationView
}

Il vous suffit donc de trouver la bonne image et de remplacer les épingles par celle-ci. Mais si vous souhaitez suivre les modifications possibles de l’image par défaut currentLocation, vous pouvez réutiliser la vue par défaut.

let annotationView = mapView.viewForAnnotation(mapView.userLocation());