0

次のように、現在の場所から緯度、経度の場所への道順について、ユーザーを 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];

シミュレーターを緯度と経度に設定しました。ここで私のコードの何が問題になっていますか?

4

1 に答える 1

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];
于 2013-01-13T10:47:32.693 に答える