gpt4 book ai didi

ios - 使用 MapLinks 时如何防止 Safari 启动?

转载 作者:搜寻专家 更新时间:2023-11-01 07:11:25 24 4
gpt4 key购买 nike

我正在使用以下代码从我的项目中启动 map :

@IBAction func navigate(){

let mapLinksSchemeURL = URL(string: "http://maps.apple.com/?daddr=\(latitude),\(longitude)&t=s&dirflg=d")

UIApplication.shared.open(mapLinksSchemeURL!, options: [:], completionHandler: nil)
}

此代码首先启动 Safari,然后继续启动 map 。这看起来不是特别精致。有没有办法跳过 Safari 直接进入 map ?

最佳答案

您有一个 URL,这就是它在识别类型并转到 Apple map 之前转到 Safari 的原因。

改为使用以下代码直接转到 Apple map :

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 = "Start"
mapItem.openInMaps(launchOptions: options)

关于ios - 使用 MapLinks 时如何防止 Safari 启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44700598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com