/ / Ako môžem vytvoriť anotácie ako aktuálny indikátor polohy? - ios, swift, mkmapview

Ako môžem vytvoriť anotácie ako aktuálny indikátor polohy? - ios, swift, mkmapview

Pokúšam sa prispôsobiť anotácie na mape a namiesto pinov chcem, aby anotácie vyzerali ako aktuálny indikátor polohy. Ako to urobím? Akákoľvek rada by bola skvelá!

odpovede:

1 pre odpoveď č. 1

Vo všeobecnosti môžete použiť vlastný objekt anotácie, ktorý rozširuje MKPointAnnotation. Ale ak stačí zmeniť obrázok, môžete sa vyhnúť podtriede a jednoducho implementovať túto metódu

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
}

Takže to stačí na to, aby ste našli správny obraz a nahradili ho kolíky. Ale ak chcete sledovať možné zmeny predvoleného obrazu currentLocation, môžete použiť predvolené zobrazenie

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