70

Apple Developer Documentation ( link is dead now) には、iPhone で Mobile Safari を使用しているときに Web ページにリンクを配置してクリックすると、iPhone に標準で提供されている Google マップ アプリケーションが起動すると説明されています。

連絡先で住所をタップして地図を起動するのと同じ方法で、自分のネイティブ iPhone アプリケーション (つまり、Mobile Safari を介した Web ページではない) 内から特定の住所で同じ Google マップ アプリケーションを起動するにはどうすればよいですか?

注: これは、デバイス自体でのみ機能します。シミュレーターではありません。

4

16 に答える 16

65

iOS 5.1.1 以前の場合は、 のopenURL方法を使用しUIApplicationます。通常の iPhone の魔法の URL 再解釈を実行します。それで

[someUIApplication openURL:[NSURL URLWithString:@"http://maps.google.com/maps?q=London"]]

Google マップ アプリを呼び出す必要があります。

iOS 6 からは、Apple 独自の Maps アプリを呼び出すことになります。このためには、MKMapItem表示したい場所でオブジェクトを構成し、openInMapsWithLaunchOptionsメッセージを送信します。現在の場所から開始するには、次を試してください。

[[MKMapItem mapItemForCurrentLocation] openInMapsWithLaunchOptions:nil];

これには MapKit にリンクする必要があります (そして、位置情報へのアクセスを求めるメッセージが表示されると思います)。

于 2008-08-27T13:26:18.517 に答える
32

丁度。これを達成するために必要なコードは次のようなものです。

UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString: @"http://maps.google.com/maps?q=London"]];

ドキュメントによると、 sharedApplicationを呼び出さない限り、UIApplication は Application Delegate でのみ使用できます。

于 2008-08-27T13:51:20.313 に答える
18

https://developers.google.com/maps/documentation/ios/urlschemeに記載されている App Store の Google マップ アプリもあります。

したがって、最初にインストールされていることを確認します。

[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]];

そして、条件付きで に置き換えることができhttp://maps.google.com/maps?q=ますcomgooglemaps://?q=

于 2012-12-13T14:05:54.857 に答える
13

マップ リンクの Apple URL スキーム リファレンスは次のとおりです

有効なマップ リンクを作成するためのルールは次のとおりです。

  • ドメインは google.com で、サブドメインは maps または ditu である必要があります。
  • クエリにサイトがキーとして含まれ、ローカルが値として含まれている場合、パスは /、/maps、/local、または /m である必要があります。
  • パスを /maps/* にすることはできません。
  • すべてのパラメーターがサポートされている必要があります。サポートされているパラメーターのリストについては、表 1 を参照してください**。
  • 値が URL の場合、パラメーターを q=* にすることはできません (したがって、KML は取得されません)。
  • パラメータに view=text または dirflg=r を含めることはできません。

**サポートされているパラメーターのリストについては、上記のリンクを参照してください。

于 2009-11-13T18:27:41.147 に答える
1

「g」を「q」に変更

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://maps.google.com/maps?q=London"]]
于 2009-11-30T18:28:58.257 に答える
1

それでも問題が解決しない場合は、このビデオで、Google から「マイ マップ」を取得して iPhone に表示する方法を示します。その後、リンクを取得して誰にでも送信できます。

http://www.youtube.com/watch?v=Xo5tPjsFBX4

于 2010-07-21T15:05:20.267 に答える
1

Googleマップへの移動はこちらのAPIで目的地の緯度・経度を送信

NSString* addr = nil;
     addr = [NSString stringWithFormat:@"http://maps.google.com/maps?daddr=%1.6f,%1.6f&saddr=Posizione attuale", destinationLat,destinationLong];

NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];
于 2017-03-07T07:40:09.717 に答える
0

Google URL 形式よりも柔軟性が必要な場合、またはマップ アプリを起動する代わりにアプリケーションにマップを埋め込みたい場合は、https://sourceforge.net/projects/quickconnect にサンプルがあります

于 2012-04-03T12:57:22.277 に答える
0
**Getting Directions between 2 locations**

        NSString *googleMapUrlString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%@,%@&daddr=%@,%@", @"30.7046", @"76.7179", @"30.4414", @"76.1617"];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:googleMapUrlString]];
于 2016-07-18T12:38:23.680 に答える
0

Google の URL 形式よりも柔軟性が必要な場合、または地図アプリを起動する代わりにアプリケーションに地図を埋め込みたい場合は、こちらの例をご覧ください

すべての埋め込みを行うためのソース コードも提供されます。

于 2008-12-06T23:53:02.620 に答える