如何在iOS中为两个以上的连续目的地实施路线规划以找到最优路线
场景:我需要在一个应用程序中开发一个逻辑,在这个应用程序中,我可能会获得两个以上的地址,我需要找到最佳路线、顺序以及指向所有地址的起始方向 示例:假设我有4个地址,如A、B、C和D。假设最佳路线(关于距离以及可能的流量)为如何在iOS中为两个以上的连续目的地实施路线规划以找到最优路线,ios,iphone,map,mapkit,Ios,Iphone,Map,Mapkit,场景:我需要在一个应用程序中开发一个逻辑,在这个应用程序中,我可能会获得两个以上的地址,我需要找到最佳路线、顺序以及指向所有地址的起始方向 示例:假设我有4个地址,如A、B、C和D。假设最佳路线(关于距离以及可能的流量)为 当前位置-->C-->B-->D-->A 限制:方法 + (BOOL)openMapsWithItems:(NSArray *)mapItems launchOptions:(NSDictionary *)launchOptions 文件说: 如果在launchOption
当前位置-->C-->B-->D-->A
限制:方法
+ (BOOL)openMapsWithItems:(NSArray *)mapItems launchOptions:(NSDictionary *)launchOptions
文件说:
如果在launchOptions字典中指定mkLaunchOptions DirectionsModeKey
选项,则mapItems数组中的项不得超过两个
。如果数组包含一个项目,则“地图”应用程序将生成从用户当前位置到地图项目指定位置的方向。如果数组包含两个项目,则“地图”应用程序将生成从数组中第一个项目位置到第二个项目位置的方向
- 我期待只使用iOS的解决方案
- 如果可能,请使用iOS 6(不得使用)
- 如果在第三方框架的帮助下有更好的解决方案,例如Googl Maps for iOS,那么如何解决
提前感谢。请参阅。最准确的方法是获得从所有点到所有点的行驶距离(来回,必要时考虑单向路线)。然后在每个排列中循环寻找最短路径。这是相当激烈的,特别是如果你有很多地方。如果您不需要行驶距离,并且有一套LatLongs,您可以在不使用外部服务的情况下计算出直线距离。@Tom感谢您的良好开端。