2017-01-10 5 views
0

Ich möchte die Farbe des Stiftes ändern. Nachfolgend ist mein Code, um den Pin auf der Karte hinzuzufügen. Danke im Voraus. Jede Art von Hilfe wird geschätzt:Xamarin.iOS: Wie man die Anmerkungsstiftfarbe in den Apfelkarten ändert

map.AddAnnotations(new MKPointAnnotation 
        { 
         Title = "Technician's Location", 
         Coordinate = new CLLocationCoordinate2D(lattitude, longitude) 
        }); 
+0

Überprüfen Sie die iOS Abschnitt des [link] aus (http://motzcod.es/post/158924172147/colored-map-markers -ios-and-android). Leider zeigt es nur, wie man zwischen 3 Apple definierten Farben wechselt. Es gibt ein anderes Beispiel, um eine eigene Ansicht zu erstellen, die jedoch herumschwebt. – hvaughan3

+0

Schauen Sie sich den iOS-Bereich des [link] (http://motzcod.es/post/158924172147/colored-map-markers-ios-and-android) an. Leider zeigt es nur, wie man zwischen 3 Apple definierten Farben wechselt. Es gibt ein anderes Beispiel, um eine eigene Ansicht zu erstellen, die jedoch herumschwebt. – hvaughan3

Antwort

0

Sie können die PinColor-Eigenschaft von MKPinAnnotationView verwenden. Dies kann in der Delegate-Methode hinzugefügt werden func mapView (mapView: MKMapView !, viewForAnnotation Annotation: MKAnnotation!) -> MKAnnotationView!

Ein typisches Beispiel dafür, was diese Methode halten kann, ist: -

if annotation is MKUserLocation { 
    return nil 
} 

let reuseId = "pin" 

var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView 
if pinView == nil { 
    pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 
    pinView!.animatesDrop = true 
    pinView!.pinColor = .Purple   // you can change color here! 
} 
else { 
    pinView!.annotation = annotation 
} 

return pinView 
+0

Ich schätze Ihre Hilfe. Aber ich muss die Farbe des Pins in Xamarin ios ändern. Ich verwende folgende Klasse: MKPinAnnotationView view = new MKPinAnnotationView (new NSCoder()); . Dies gibt mir NsInvalidArgumentException. Bitte sagen Sie mir, was ich an Stelle von NSCoder weitergeben soll. –