如何在iOS中使用多个点显示Apple地图中的路线

时间:2017-04-12 13:30:56

标签: ios mapkit apple-maps

我有一个包含多个点(超过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")!)

也许有某种方法来传递更多坐标?

1 个答案:

答案 0 :(得分:1)

正如MKMapItem文档所述:

  

如果在中指定MKLaunchOptionsDirectionsModeKey选项   launchOptions字典,mapItems数组必须不超过   其中有两个项目。如果数组包含一个项目,则为地图应用   生成从用户当前位置到该位置的路线   由地图项指定。如果数组包含两个项目,则为Maps   应用程序生成从第一个项目的位置到的方向   数组中第二个项的位置。

所以答案是否定的。