在iOS6中为MKMapKit路由数据

我之前已经在iOS应用程序中完成了路由,但是在iOS6中,我们现在正在显示Apple地图 – 这会导致问题,因为我们正在使用Google路由数据,如果使用Google数据,我们应该将其显示在Google地图上。

我一直在寻找,但据我所知,苹果公司并没有提供任何路由数据。 到目前为止,答案最接近的东西似乎是苹果公司表示Apps that consume direction information do so by sending an appropriate request to the Maps app, which then handles the task of displaying that information to the user. – 对我来说,这意味着地图应用程序将被打开以显示路线,并将用户带出我们的应用程序。

  • 我们在哪里可以获得在iOS6应用程序上使用苹果地图可以接受的即时路线数据?

你可以使用MapQuest的Open Directions API 。 它是免费的,它似乎没有任何限制。 他们也有一个免费的每日限制的许可的API 。

我相信你只需要把他们的标志放在你的应用程序的某个地方。

不幸的是MapKit不提供路由数据。

在iOS 6及更高版本中,Map Kit支持为用户提供基于地图的路线。 应用程序可以是方向的提供者,也可以使用地图应用程序本身来提供路线。 消费方向信息的应用程序通过向地图应用程序发送适当的请求来执行此操作,该应用程序然后处理向用户显示该信息的任务。 但是,如果您正在实施自己的导航应用程序,则可以将您的应用程序注册为路由应用程序,即路线提供者。 地图应用程序收到来自用户(或其他应用程序)的指示请求后,可以将这些请求转发给您的应用程序进行显示。

资源

所以,你最好的select是使用外部路由数据,或地图应用程序。 由于Google禁止在Google地图上显示路由数据,因此您可能需要检查API API( 此处 )。 现在并不是很明显,他们要求你使用bing路由数据的bing地图,但是他们也提供了一个静态地图api( 这里 )。

或者,你可能想在github上看这个项目 。 它显示了如何在地图视图中加载谷歌地图的瓷砖。

祝你好运。

苹果公司未来可能会提供路由信息,但现在只能在地图应用中使用。

一个解决scheme是在地图视图中使用Google瓷砖。 ClassicMap的代码完全实现了这一点,并且可以获得自由许可。 使用它作为权宜之计,直到Apple提供路由信息。

你是对的 ,10.1.1中的Google API服务条款点g:

(g)没有Google地图的情况下不使用内容 。 除非您明确允许在Google Maps API文档中或通过Google的书面许可,否则不得使用或显示没有相应Google地图的内容。 无论如何,您不得在非Google地图上使用或显示内容。 例如,您不得将通过本服务获取的地理编码与非Google地图一起使用。 另外一个例子,您不能在非Google地图旁边显示街景图像,但是您可以在没有相应的Google地图的情况下显示街景图像,因为地图API文档明确允许您这样做。

对Google API的访问是直到iOS 6透明并通过苹果的MapKit框架访问的,Apple为我们开发者处理了所有许可,费用等问题,我们不需要担心这一点。

现在,苹果正在使用他们自己的地图服务,就像你说的那样,我们没有通过MapKit框架访问Google API,MapKit也无法按照您的使用方式进行路由。

所以你必须保持与谷歌的沟通,但问题是现在你将使用谷歌的数据没有谷歌地图。

这是一个问题,如果你的应用程序很受欢迎,而Google意识到,他们可能会select向你提出问题。

现在还没有一个正确的方法,有些应用程序将Google地图平铺到Apple地图上,但是您需要向Google注册您的应用程序,以获取我假设的API密钥,这可以限制您的请求数量,必须向Google支付API使用费。