我有一个包含多个点(超过2个)的路线,如何打开Apple地图应用并显示它?
我知道可以显示2点之间的路线:
let mapItems = [MKMapItem(placemark: MKPlacemark(coordinate: coordinat1, addressDictionary: nil)),
MKMapItem(placemark: MKPlacemark(coordinate: coordinat2, addressDictionary: nil))]
MKMapItem.openMaps(with: mapItems, launchOptions: [MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving])
但它只支持两点。我也知道这可以使用Google地图使用Google地图来实现:
https://www.google.com/maps/dir/<lat>,<lng>/<lat>,<lng>/.../.../
但我可以为Apple Maps找到类似的解决方案
编辑:因为我也可以像这样显示Apple地图:UIApplication.shared.openURL(URL(string: "http://maps.apple.com/?daddr=\(coordinate.latitude),\(coordinate.longitude)&dirflg=d")!)
也许有某种方法来传递更多坐标?
答案 0 :(得分:1)
正如MKMapItem文档所述:
如果在中指定MKLaunchOptionsDirectionsModeKey选项 launchOptions字典,mapItems数组必须不超过 其中有两个项目。如果数组包含一个项目,则为地图应用 生成从用户当前位置到该位置的路线 由地图项指定。如果数组包含两个项目,则为Maps 应用程序生成从第一个项目的位置到的方向 数组中第二个项的位置。
所以答案是否定的。