Как передать аннотацию id? - PullRequest
0 голосов
/ 12 февраля 2020

У меня вопрос, я создал класс аннотации для хранения идентификатора для дальнейшего редактирования путевой точки. Как получить идентификатор аннотации при вызове 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?
}

Спасибо за все ответы.

1 Ответ

1 голос
/ 12 февраля 2020

Вам нужно

let ann  = view.annotation as! WaypointsAnnotation
print(ann.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...