Làm cách nào để có thể sử dụng MapKit trong Swift, để người dùng kéo chú thích từ vị trí này sang vị trí khác trong bản đồ? Tôi đã đặt ra xem chú thích để có thể kéo, khi tôi xem bản đồ đại biểu tạo chế độ xem chú thích, như thế này:iOS Swift MapKit tạo chú thích có thể kéo được bởi người dùng?
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
}
Kết quả là người dùng có thể loại kéo chú thích - nhưng chỉ một lần. Sau đó, chú thích sẽ không thể kéo và thậm chí tệ hơn nữa, chú thích giờ đây không còn "thuộc" để ánh xạ nữa - khi bản đồ được cuộn/quét, chú thích vẫn giữ nguyên hơn là cuộn/di chuyển với bản đồ. Tôi đang làm gì sai?
là giải pháp này vẫn được áp dụng (iOS 11)? Tôi đã làm theo giải pháp, nhưng phương thức 'mapView (_: annotationView: didChange: fromOldState:)' không bao giờ được gọi. – mert