在iPhone应用程序中获取路线和转弯导航

我正在开发一款应用程序,该应用程序将重点关注用户路线和驾车时的转弯指示。 重要的是他们在开车时留在应用程序中,所以我真的不想让他们离开应用程序并转到内置的地图应用程序。 我最近一直在研究如何包含这个function,并且众所周知,这并不容易,因为Apple没有开箱即用的这个function。 看起来我的选择是:

用于提供从一个地方到另一个地方的路线(和路线)

  • 使用UIWebView并使用JavaScript加载一些基于Web的地图,并使用JavaScript API绘制路线
  • 使用MapKit或Google Maps iOS SDK,通过API分别查询路径,并在其上手动绘制某种路径或折线。
  • 使用花钱的图书馆(如MTDirectionsKit )

用于提供精细导航

  • 使用自带地图的专有库(如CloudMade )

这里有什么我想念的吗? 每种方法的优点和缺点是什么,我应该如何选择解决方案?

非常感谢您的见解。 谢谢!

你说你不想“让”用户离开应用程序并使用内置软件进行转弯导航,就好像这是一个糟糕的用户体验。 如果我锁定手机或切入其他应用程序以显示横幅告诉我转弯,那么糟糕的用户体验将被强制使用来自webView或某些API的转弯导航,这些API在我的锁定屏幕上不会显示为路由信息例如,当我在手机上听音乐时,它正在出现。 我强烈建议您启动Apple地图,让系统处理它的意图,而不是试图通过转向导航来构建自己的转弯,并严重限制用户在驱动器中退出应用程序的自由。

关于商业图书馆的主题,您可以查看其他选项:

  • skobbler / telenav sdk – 基于OpenStreetMap的应用内路由和精细导航(Cloudmade和Mapquest使用的相同地图)。 查看演示和许可计划,并确定它是否适合您

(他们有一个免费的等级,可能对你的应用程序来说足够好 – 如果你超过那个级别,我认为你应该考虑通过app给你货币化)

  • 这是暂时的(除了已经命名的选项):留意Mapbox,因为他们可以在不久的将来提供iOS sdk – 路由和导航

我同意克里斯的回应。 逐向导航可能最好由内置应用程序处理。 但是,为了在2D地图上显示路线和ETA,我想我将使用Mapquest iOS API ,它免费提供此function。 我不知道这个解决方案直到今天才可用。