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?

questionAnswers(1)

yourAnswerToTheQuestion