iOS Swift MapKit tornando uma anotação arrastável pelo usuário?
Como possibilito, usando o MapKit no Swift, que o usuário arraste uma anotação de uma posição para outra no mapa? Eu configurei a visualização de anotação para ser arrastável, quando meu representante da visualização de mapa cria a visualização de anotação, assim:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
var v : MKAnnotationView! = nil
if annotation is MyAnnotation {
let ident = "bike"
v = mapView.dequeueReusableAnnotationView(withIdentifier:ident)
if v == nil {
v = MyAnnotationView(annotation:annotation, reuseIdentifier:ident)
}
v.annotation = annotation
v.isDraggable = true
}
return v
}
O resultado é que o usuário podetipo de arraste a anotação - mas apenas uma vez. Depois disso, a anotação se torna impossível de arrastar e, pior ainda, a anotação agora não "pertence" ao mapa - quando o mapa é rolado / panorâmico, a anotação fica parada em vez de rolagem / panorâmica com o mapa. O que estou fazendo errado?