如何在IOS中启动地图导航?

时间:2017-05-19 17:01:33

标签: ios swift mapkit

我想在屏幕上没有任何点击的情况下开始导航。

我尝试了这两个版本,但没有人可以在没有点击的情况下开始导航(至少两次点击)。

如何自动开始导航?

let latitude:CLLocationDegrees = xx.xxxxx
let longitude: CLLocationDegrees = xx.xxxxx

版本1:

let regiondistance:CLLocationDistance = 10000
let coordinates = CLLocationCoordinate2DMake(latitude, longitude)
let regionspan  = MKCoordinateRegionMakeWithDistance(coordinates, regiondistance, regiondistance)
let options = [MKLaunchOptionsMapCenterKey:NSValue(mkCoordinate:regionspan.center),MKLaunchOptionsMapSpanKey:NSValue(mkCoordinateSpan:regionspan.span)]

let placemark = MKPlacemark(coordinate: coordinates, addressDictionary: nil)
let mapitem = MKMapItem(placemark: placemark)
mapitem.name = "Name"
mapitem.openInMaps(launchOptions: options)

第2版:

let url = URL(string: String(format:"http://maps.apple.com/?ll=%f,%f", app.lat+0.002,app.lng+0.002))!
if #available(iOS 10.0, *) {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
    UIApplication.shared.openURL(url)
}

1 个答案:

答案 0 :(得分:1)

如果您将网址更新为以下内容,则只需点击一下即可完成第2版:
http://maps.apple.com/?daddr=%f,%f&dirflg=d
在单击“开始”按钮之前,用户应该能够选择他们喜欢的路线。