MKAnnotation не появляется - PullRequest
       8

MKAnnotation не появляется

0 голосов
/ 04 апреля 2020

Я пишу приложение для авиабилета и у меня возникли некоторые проблемы с аннотациями на карте. Итак, у нас есть представление, показывающее всю информацию о билетах, и карту с указанием города вылета и пункта назначения

Вот просмотр загрузки:

override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
}

override func viewWillAppear(_ animated: Bool) {
    configureView(showingReturnData: showingReturnData, fromTicket: showingTicketNow)
    designSetup()

    mapSetting()
}

Преобразование в координаты:

func gettingCoordinates(cityString: String) -> CLLocationCoordinate2D {
    let geocoder = CLGeocoder()

    var returningCoordinate = CLLocationCoordinate2D()

    geocoder.geocodeAddressString(cityString) { (placemarksArray, error) in
        if error == nil && placemarksArray?.count != 0 {
            let placemark = placemarksArray![0]

            print(placemark.country, placemark.name, 
             placemark.location!.coordinate.longitude, 
            placemark.location!.coordinate.latitude)

            //Here output:
            Optional("Japan") Optional("Tokyo") 139.6917 35.689506
            Optional("Russia") Optional("Moscow") 37.60946 55.7615902

            returningCoordinate.longitude = placemark.location!.coordinate.longitude
            returningCoordinate.latitude = placemark.location!.coordinate.latitude
        } else {
            print(error!)
        }
    }

    return returningCoordinate
}

И затем добавление аннотаций на карту, но это всегда одно и то же место, около Африки в океане

func mapSetting() {

    let fromPlacemark = gettingCoordinates(cityString: showingTicketNow.fromCityName)
    let toPlacemark = gettingCoordinates(cityString: showingTicketNow.toCityName)

    let fromAnnotation = MKPointAnnotation()
    fromAnnotation.title = fromCityName.text!
    fromAnnotation.coordinate = fromPlacemark
    mapView.addAnnotation(fromAnnotation)

    let toAnnotation = MKPointAnnotation()
    toAnnotation.title = toCityName.text!
    toAnnotation.coordinate = toPlacemark
    mapView.addAnnotation(toAnnotation)

    let coordinateRegion = MKCoordinateRegion(center: toPlacemark, latitudinalMeters: 
    10000, longitudinalMeters: 10000)
    mapView.setRegion(coordinateRegion, animated: true)
}

Что я делаю не так

...