iOS 6 地图 - 找不到方向

Posted

技术标签:

【中文标题】iOS 6 地图 - 找不到方向【英文标题】:iOS 6 Maps - Cannot Find Directions 【发布时间】:2013-01-13 09:48:54 【问题描述】:

我正在尝试将我的用户定向到 ios 6 原生地图,以获取从他们当前位置到纬度、经度位置的路线,如下所示:

MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:placeLocation addressDictionary:nil];
MKMapItem *destination = [[MKMapItem alloc] initWithPlacemark:placemark];
MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
NSArray *mapItems = @[destination, currentLocation];
NSDictionary *options = @MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving, MKLaunchOptionsMapTypeKey: [NSNumber numberWithInteger:MKMapTypeStandard], MKLaunchOptionsShowsTrafficKey:@YES;
[MKMapItem openMapsWithItems:mapItems launchOptions:options];

我已将模拟器设置为我的纬度和经度。我的代码有什么问题?

【问题讨论】:

【参考方案1】:

代码很好,对我有用,因为有一条可能的路线

当可以给出当前位置和目的地之间的方向时有效。 如果 currentLocation 在美国,地图将失败,因为它无法从德国导航到美国。 但如果 currentLocation 也在欧洲,地图应用程序工作正常 :)

//placeMarkCoord fixed to germany
MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(51.0, 10.0) addressDictionary:nil];
MKMapItem *destination = [[MKMapItem alloc] initWithPlacemark:placemark];

//currentLocation must be reachable from destination!
//MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
placemark = [[MKPlacemark alloc] initWithCoordinate:CLLocationCoordinate2DMake(51.0, 11.0) addressDictionary:nil];
MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:placemark];

NSArray *mapItems = @[destination, currentLocation];
NSDictionary *options = @MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving, MKLaunchOptionsMapTypeKey: [NSNumber numberWithInteger:MKMapTypeStandard], MKLaunchOptionsShowsTrafficKey:@YES;
[MKMapItem openMapsWithItems:mapItems launchOptions:options];

【讨论】:

以上是关于iOS 6 地图 - 找不到方向的主要内容,如果未能解决你的问题,请参考以下文章

带有 Angular 6 的 Mapbox。“找不到地图容器”错误

在高德地图怎么找不到我的位置

iOS:在地图上绘制 MKTileOverlay 导致 CPU 使用率和内存高。我找不到原因。?

Android Google map - 如果找不到目的地方向路线,则回退

找不到谷歌地图

找不到谷歌地图