Ich benutze MapKit und versuche gerade ein benutzerdefiniertes Pin Annotation Image auf meinen Pins zu setzen. Allerdings fällt es mir schwer herauszufinden, warum es nicht funktioniert. Der ganze andere Code funktioniert perfekt, und wenn ich versuche, den Rahmen des Bildes nach der Einstellung zu drucken, zeigt es die korrekten Abmessungen für mein "pinImage", so dass es scheint, das Bild auf der Eigenschaft zu setzen.Benutzerdefiniertes Bild einstellen - MKPinAnnotationView - Swift 3
Auch der Delegat ist korrekt festgelegt, dies wird überprüft, indem eine benutzerdefinierte Farbe auf der Standard-PIN festgelegt wird.
Ich habe auch versucht, "pinImage.png", ohne Glück. Und da MKPinAnnotationView eine Unterklasse von MKAnnotationView ist, sehe ich kein Problem damit, warum das das Problem sein sollte, und um sicher zu sein, habe ich versucht, den MKAnnotationView auch ohne Glück zu benutzen.
Hier ist mein Code:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if let annotation = annotation as? Pin {
let identifier = LocalConstants.pinIdentifier
var view: MKPinAnnotationView
if let dequeuedView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier) as? MKPinAnnotationView {
dequeuedView.annotation = annotation
view = dequeuedView
} else {
view = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
view.canShowCallout = true
view.calloutOffset = CGPoint(x: -5, y: 5)
let detailButton = UIButton(type: .detailDisclosure) as UIView
view.rightCalloutAccessoryView = detailButton
//view.pinTintColor = Util.Colors.pluppPurple
}
view.image = UIImage(named: "pinImage")
return view
}
Vielen Dank im Voraus!