У меня вопрос, я создал класс аннотации для хранения идентификатора для дальнейшего редактирования путевой точки. Как получить идентификатор аннотации при вызове didSelect MKMapView?
Это мой код:
@objc func longTap(sender: UIGestureRecognizer){
if sender.state == .began {
let locationInView = sender.location(in: mapView)
let locationOnMap = mapView.convert(locationInView, toCoordinateFrom: mapView)
addAnnotation(location: locationOnMap, name: "Test point", id: 123456)
}
}
...
func addAnnotation(location: CLLocationCoordinate2D, name: String, id: Int16) {
let annotation = WaypointsAnnotation()
annotation.coordinate = location
annotation.title = name
annotation.id = id
let CoordinateToDms = coordinateToDMS(latitude: annotation.coordinate.latitude, longitude: annotation.coordinate.longitude)
annotation.subtitle = "\(CoordinateToDms.latitude) \(CoordinateToDms.longitude)"
self.mapView.addAnnotation(annotation)
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
if let annotationCoordinates = view.annotation?.coordinate
{
annotation.id ?
pindetaillatitude = annotationCoordinates.latitude
pindetaillongitude = annotationCoordinates.longitude
}
}
class WaypointsAnnotation : MKPointAnnotation {
var id : Int16?
}
Спасибо за все ответы.