所以我决定使用苹果开发者技术支持,真正明确了这一点。这是回复:
你好,
谢谢您的查询到的苹果全球开发者技术支持。 我正在回应,告诉您我已收到您的技术援助请求。
这样做的事实上的标准方式是使用Map应用程序。我意识到这不是你想要的。你想留在你的应用程序。当涉及到用户指导时,MKMapView API不会为您提供这种级别的支持。您将不得不依靠单独的Web服务来获取这些方向,然后在MKMapView上绘制每个经纬度点。基本上,您需要向Google Directions API发送HTTP请求。这些条款要求您在Google地图上显示结果;因为MKMapView显示谷歌,这应该是确定的。
http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests
如果您获得从设行车路线成功人士称雅虎或谷歌的服务,将的MKMapView让你绘制使用MKOverlayPathView和MKShapes绘制多边形的形状像一个可视化课程。苹果公司在 http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html 上有一个名为“KMLViewer”的示例它向您展示了如何绘制基于KML的点。由于我们正在处理纬度/经度坐标,所以方法相同。
您可能需要考虑使用Map应用程序,这会相当容易。所有你需要的是这样的:
// for lat/long directions
NSString *urlString1 = @"http://maps.google.com/maps?daddr=37.324885,-122.032378&saddr=37.332094,-122.03124";
// for address directions
NSString *urlString2 = @"http://maps.google.com/maps?f=d&source=s_d&saddr=1+Infinite+Loop,+Cupertino,+CA+95014&daddr=Mandarin+Gourmet,+Cupertino,+CA&hl=en&geocode=FcajOQIdYvO5-Ckbd16TtrWPgDFAc4Pi50E92A%3BFZ2GOQIdLe65-CHRv0sTH7YegykLqKn9rbWPgDGUnqKbIqi1Bg&mra=ls&sll=37.325567,-122.032989&sspn=0.007243,0.007285&ie=UTF8&ll=37.328195,-122.031466&spn=0.007243,0.007285&z=17";
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlString1]];
第二E-MAIL:
只要是在关于使用谷歌服务条款我最后的电子邮件清楚。 Google要求您在谷歌地图上显示路线结果,这是MKMapView使用的。不过,我会仔细检查苹果自己的T & Cs,关于在MKMapView本身上使用外部服务(如用户指导)。我不希望你沿着一条路走下去寻找法律限制。
到底什么才能解决这个问题,对你有好处?你说参考的方法是一个糟糕的用户体验,但没有定义好什么是好的。 – Nick 2010-10-19 10:08:19
在我开发的应用程序的第一个版本之后,有许多用户抱怨不得不“离开”应用程序以获取路线。对于良好的用户体验,我的想法是直接在地图上添加行车路线,只要您可以使用导航栏返回到上一个视图,地图就可以在自己的视图中。猜猜我说的是你必须能够留在应用程序中。这关于用户体验。第二部分是:你如何做到这一点? – Christofffer 2010-10-19 11:42:34