0

私は iOS アプリを開発しています。このアプリ内には、他の情報の中で、現在選択されている会社の店舗への MKMapView マップを表示するタイプのビューがあります。店舗の場所は、ピンを介して地図上にプロットされます。ピンにはカスタマイズされた MKAnnotationView があり、詳細開示ボタンが追加されています。私がやりたいのは、ユーザーがボタンを押したときに、ポップオーバーにいくつかの選択肢を提示することです-その特定の店のウェブサイトに行くなど。

そこで実装したいオプションの 1 つは、ユーザーの現在の場所から店舗の場所に移動することです。アプリケーションに実行してもらいたいのは、スミスと言うべきオブションを提示することです。"Navigate to location" のように、クリックすると GoogleMaps が開き、場所へのナビゲート オプションが選択され、CurrentLocation が "Start" として選択され、ピンの座標に保存されている店舗の場所が "End" として選択されます。私はこれに対する解決策を見つけていないので、これを行うことはできますか? もしそうなら、どのように?

4

1 に答える 1

2

私はこのコードでそれをしました:

- (void) openBrowser:(id)sender
{ 
    NSString *launchUrl=@"";
    launchUrl= [launchUrl stringByAppendingString:@"http://maps.google.com/maps?daddr="];
    NSString *tmpLat = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.latitude];
    NSString *tmpLong = [[NSString alloc] initWithFormat:@"%g", self.newRegion.center.longitude];
    NSString *llat=[tmpLat stringByAppendingString:[@"," stringByAppendingString:tmpLong]];
    launchUrl=[@"http://maps.google.com/maps?daddr=" stringByAppendingString:llat];
    launchUrl=[launchUrl stringByAppendingString:[@"&saddr=" stringByAppendingString:@"Current Location"]];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[launchUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}

openBrowser詳細開示ボタンで呼び出すメソッドです。を指す URL はmaps.google.com、電話にインストールされている Google マップ アプリによってデフォルトで処理されることがわかりました。ポイント A からポイント B へのルートの場合、URL は次のようになります。

http://maps.google.com/maps?daddr=whatever&saddr=whatever

daddr=宛先

saddr= ソース

于 2012-08-17T17:22:56.387 に答える