Chr*_*fer 5 iphone google-maps objective-c
我已经阅读了一些关于想要在iPhone上绘制地图路线的开发人员的帖子,但没有令人满意的答案,如何最好地实现这一点.您可以使用Route-Me库,在顶部MKMapView上添加图层或将坐标发送到手机地图软件,然后从您的应用程序导航,我认为这是糟糕的用户体验.这些都没有以一种好的方式解决问题.
一些邮报写道,存在法律障碍,其他人写道,这是关于许可资金.这必须是一个非常普遍的要求,因此是实现的共同特征.那么事实上的标准方法是什么呢?
有经验的人可以分享他们对这个问题的见解吗?
BR // Christoffer
所以我决定使用 Apple 开发者技术支持来真正解决这个问题。这是回复:
你好,
感谢您向 Apple 全球开发者技术支持询问。我回复您是为了让您知道我已收到您的技术援助请求。
事实上的标准方法是使用地图应用程序。我意识到这不是你想要的。您想留在您的应用程序中。当涉及到用户方向时,MKMapView API 不会为您提供这种级别的支持。您将必须依靠单独的 Web 服务来获取这些方向,然后在 MKMapView 上自己绘制每个纬度/经度点。基本上,您需要向 Google Directions API 发出 HTTP 请求。这些条款要求您在 Google 地图上显示结果;因为 MKMapView 显示 Google,所以应该没问题。
http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests
如果您成功从 Yahoo 或 Google 服务获取行车路线,MKMapView 将允许您使用 MKOverlayPathView 和 MKShapes 绘制类似多边形的形状来绘制视觉路线。Apple 有一个名为“KMLViewer”的示例,位于 http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html 它向您展示了如何基于 KML 绘制点。由于我们处理的是纬度/经度坐标,因此方法是相同的。
您可能需要考虑使用地图应用程序,这会容易得多。你所需要的只是这个:
// 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]];
Run Code Online (Sandbox Code Playgroud)
第二封电子邮件:
只是为了在我的上一封电子邮件中明确有关使用 Google 服务的条款。Google 要求您在 MKMapView 使用的 Google 地图上显示路线结果。不过,我会仔细检查 Apple 自己关于使用外部服务(例如 MKMapView 本身的用户方向)的条款和条件。我不希望你走上一条路,却发现一路上有法律限制。
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |