我在iPhone应用程序中使用MapKit框架显示地图视图。我还在地图视图中显示特定的朋友列表Pin点,基于它们的位置。我现在想要增强显示从我的位置到特定选定朋友位置的路线图方向。我知道源和目的地的纬度和长度,但我在道路方向画了路线,应该是道路方向。有人可以帮我吗?
谢谢!
答案 0 :(得分:2)
MapKit没有公开执行行车路线的方法。因此,这并不像要求地图显示从位置A到位置B的路线那么简单。您有两种选择:
1)与Google的API集成以获取行车路线,并将您自己的行重叠到MapKit地图上。
或
2)只需将您的用户从应用中删除,并将此功能委派给内置的地图应用。
我对前者没有经验,但后者很容易。简单地:
CLLocationCoordinate2D location = [[map userLocation] location].coordinate;
double currentLat = location.latitude;
double currentLong = location.longitude;
NSString *googleUrl = [[NSString alloc] initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f", currentLat, currentLong, item.latitude, item.longitude];
NSLog(@"%@", googleUrl);
[[UIApplication sharedApplication] openURL:[[NSURL alloc] initWithString:googleUrl]];
答案 1 :(得分:1)
实际上iPhone sdk不支持api在地图上绘制路线。在github上有一个repo,它使用google maps api通过地图叠加在地图上绘制路线。它有一些限制,但你可以从这个回购中获得帮助 - https://github.com/kishikawakatsumi/MapKit-Route-Directions