2014-09-02 3 views
3

Я пытаюсь создать пользовательский «Badget» для моего MKPointAnnotation в быстры, но он не в MKPointAnnotation не имеет свойства, как изображениеSwift MKPointAnnotation пользовательских изображений

var information = MKPointAnnotation() 
    information.coordinate = location 
    information.title = "Test Title!" 
    information.subtitle = "Subtitle" 
    information.image = UIImage(named: "dot.png") //this is the line whats wrong 
    Map.addAnnotation(information) 

Любой понял, быстрый, как решение для этого ?

+1

Более подробную информацию вы можете найти в «MapKit», «MKPointAnnotation» не несет ответственности за отображение аннотации. Эта функциональность обрабатывается 'MKAnnotationView' и' MKMapViewDelegate' –

+1

См. Http://stackoverflow.com/questions/24467408/swift-add-mkannotationview-to-mkmapview, http://stackoverflow.com/questions/24523702/stuck -on-using-mkpinannotationview-in-swift-and-mapkit – Anna

ответ

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

    if !(annotation is MKPointAnnotation) { 
     return nil 
    } 

    var annotationView = mapView.dequeueReusableAnnotationViewWithIdentifier("demo") 
    if annotationView == nil { 
     annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "demo") 
     annotationView!.canShowCallout = true 
    } 
    else { 
     annotationView!.annotation = annotation 
    } 

    annotationView!.image = UIImage(named: "image") 

    return annotationView 

} 
+7

Пожалуйста, добавьте некоторое объяснение, также. – d4Rk

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