2017-01-10 3 views
0

Я хочу изменить цвет булавки. Следующим моим кодом является добавление булавки на карту. Заранее спасибо. Любой вид помощи будет понятно:Xamarin.iOS: Как изменить цвет знака аннотации в яблочных картах

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

Заканчивать раздел IOS от [ссылка] (http://motzcod.es/post/158924172147/colored-map-markers -ios-и-андроид). К сожалению, он показывает только, как измениться между 3 Apple, определенными цветами. Есть и другой пример для создания вашего собственного представления, плавающего вокруг. – hvaughan3

+0

Проверьте раздел iOS [ссылка] (http://motzcod.es/post/158924172147/colored-map-markers-ios-and-android). К сожалению, он показывает только, как измениться между 3 Apple, определенными цветами. Есть и другой пример для создания вашего собственного представления, плавающего вокруг. – hvaughan3

ответ

0

Вы можете использовать свойство pinColor из MKPinAnnotationView. Это может быть добавлено в методе делегата func mapView (mapView: MKMapView !, viewFor Аннотации к аннотации: MKAnnotation!) -> MKAnnotationView!

Типичный пример того, что этот метод может держать это: -

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

Я ценю вашу помощь. Но мне нужно изменить цвет булавки в Xamarin ios. Я использую следующий класс: MKPinAnnotationView view = new MKPinAnnotationView (новый NSCoder()); . Это дает мне NsInvalidArgumentException. Скажите, пожалуйста, что нужно сделать вместо NSCoder. –

Смежные вопросы