Что не так с этим кодом?Когда он открывается в приложении родных карт, он переносит меня в случайное место - PullRequest
0 голосов
/ 03 июня 2019

После видео учебник.Когда я создаю это приложение и нажимаю кнопку направления, он выводит меня в произвольную область вместо предоставленных координат.Я начинающий.Кроме того, есть ли способ передать адрес местоположения вместо координат, или я должен просто использовать координаты.Спасибо за любые ответы.Я использую Swift 5 в xCode 10. Я изменил координату для конфиденциальности.

@IBAction func directionsClinic(_ sender: UIButton) {
    let latitude:CLLocationDegrees = 38.465492
    let longitude:CLLocationDegrees = 91.338905

    let regionDistance:CLLocationDistance = 1000;
    let coordinates = CLLocationCoordinate2DMake(latitude, 
          longitude)

    let regionSpan = MKCoordinateRegion(center: coordinates, 
          latitudinalMeters: regionDistance, longitudinalMeters: 
          regionDistance)
    let options = [MKLaunchOptionsMapCenterKey: 
          NSValue(mkCoordinate:regionSpan.center), 
          MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: 
          regionSpan.span)]
    let placemark = MKPlacemark(coordinate: coordinates)
    let mapItem = MKMapItem(placemark:placemark)

    mapItem.openInMaps(launchOptions: options)

}

Я только что попробовал несколько различных руководств по видео на YouTube, но большинству исполнился год +, и я не уверен, что код имеетизменено

Предполагается, что местоположение координат будет отображаться в приложении для карт iphone, вместо этого оно перенесло меня в другое место на другой стороне земного шара.

1 Ответ

0 голосов
/ 03 июня 2019

Вы можете попробовать открыть его по определенному адресу:

let baseUrl: String = "http://maps.apple.com/?q="
let encodedName = theAddress.addingPercentEncoding( withAllowedCharacters: .urlQueryAllowed) ?? ""
let finalUrl = baseUrl + encodedName
if let url = NSURL(string: finalUrl) {
    UIApplication.shared.open(url)
}

Приложение «Карты» перехватит запрос и откроет приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...