2

アプリ自体にターンバイターン方式のナビゲーションを実装できるかどうか疑問に思いました。現在、私はこのコードを使用しています。

-(void)viewWillAppear:(BOOL)animated{
    //home location
    CLLocationCoordinate2D coords =
    CLLocationCoordinate2DMake(51.044242,5.621653);
    MKPlacemark *place = [[MKPlacemark alloc]
                          initWithCoordinate:coords addressDictionary:nil];
    MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];


    //current location
    MKMapItem *mapItem2 = [MKMapItem mapItemForCurrentLocation];


    NSArray *mapItems = @[mapItem, mapItem2];

        NSDictionary *options = @{
        MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
        MKLaunchOptionsMapTypeKey:
        [NSNumber numberWithInteger:MKMapTypeStandard],
        MKLaunchOptionsShowsTrafficKey:@YES
    };

    [MKMapItem openMapsWithItems:mapItems launchOptions:options];
}

これはうまく機能しますが、ネイティブアプリアプリケーションを開きます。アプリを離れることなく、アプリ自体にこれを表示することは可能ですか?

敬具

4

1 に答える 1

1

アプリ内のマップビュー機能を表示します。デバイスのネイティブアプリケーションにリダイレクトするMKMapItemを使用する代わりに、MKMapViewを使用します。

マップビューでのルートの描画については、以下のリンクをたどってください。

1)MKMapView

2)Mapviewでポリインまたはルートを描画する

  • mapviewのオーバーレイに描画線を使用してパスを描画できます。上記のリンクでそれについて簡単なアイデアを得ることができます。MapViewのオーバーレイについては、これを参照してください。

  • あなたの質問に従って、あなたは地図上のその2つのターニングポイントを使用してターンごとにパスターンを描くことができます。

mapViewに関連するすべてのクラスリファレンスの公式リンクは、にありhereます。

于 2012-12-06T04:48:11.550 に答える