iOS 9 以降を搭載したデバイスでは、Google マップの URL があれば、ユニバーサル リンクを使用して Google マップを起動できます。
Google マップの URL スキームを使用すると、iOS 向け Google マップ アプリを起動して、検索、ルート検索、地図ビューの表示を行うことができます。Google マップを起動すると、バンドル ID がリクエストの一部として自動的に送信されます。
Google マップの URL スキームを使用するのに、Google API キーは必要ありません。
ユニバーサル リンクと Google マップ
iOS 向け Google マップは、iOS 9 以降を搭載したデバイスでユニバーサル リンクをサポートしています。
URL が次の正規表現に一致し、デバイスで iOS 9 以降が実行されている場合は、openURL: メソッドを直接使用することを検討してください。
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
次に例を示します。
Swift
UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)
Objective-C
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];
概要
URL スキームを使用すると、別の iOS アプリまたはウェブ アプリケーションから iOS アプリケーションを起動できます。URL にオプションを設定して、起動したアプリケーションに渡すことができます。iOS 用 Google マップアプリは、次の URL スキームをサポートしています。
comgooglemaps://- このスキームを使用すると、iOS 向け Google マップアプリを起動して、次のいずれかのアクションを実行できます。- 位置とズーム レベルを指定して地図を表示する。
- 位置やスポットを検索し、地図上に表示する。
- ある地点から別の地点への経路を要求する。ルートは、車、徒歩、自転車、公共交通機関の 4 つの移動手段で返すことができます。
- アプリにナビゲーションを追加する。
comgooglemapsurl://- このスキームを使用すると、デスクトップ版 Google マップのウェブサイトから取得した URL を使用して、iOS 向け Google マップアプリを起動できます。つまり、Google マップのウェブサイトを読み込むのではなく、ユーザーにモバイル エクスペリエンスを提供できます。- 元の URL は、
maps.google.comまたはgoogle.com/mapsの URL、またはcomの代わりに有効なトップレベルの国別ドメインを使用する URL です。goo.gl/mapsリダイレクト URL を渡すこともできます。
- 元の URL は、
iOS 向け Google マップ アプリを起動して特定の機能を実行する
iOS 向け Google マップ アプリを起動し、必要に応じてサポートされている機能のいずれかを実行するには、次の形式の URL スキームを使用します。
comgooglemaps://?parameters
パラメータについては、本書で後ほど解説します。
デバイスで Google マップ アプリが利用可能かどうかを確認する
アプリでこれらの URL のいずれかをユーザーに提示する前に、まずアプリケーションがインストールされていることを確認する必要があります。アプリは、次のコードを使用して URL スキームが利用可能かどうかを確認できます。
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
たとえば、ニューヨークのセントラル パークの地図を表示するには、次のコードを使用します。
Swift
if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
UIApplication.shared.openURL(URL(string:
"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
print("Can't use comgooglemaps://");
}
Objective-C
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]]) {
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
NSLog(@"Can't use comgooglemaps://");
}
地図を表示する
URL スキームを使用して、指定したズームレベルと場所で地図を表示します。地図の上に他のビューをオーバーレイしたり、ストリートビュー画像を表示したりもできます。
パラメータ
以下に示すパラメータはすべて省略可能です。パラメータが設定されていない場合、URL スキームは iOS 用 Google マップアプリを起動します。
center: 地図のビューポートの中心点。latitude,longitudeのカンマ区切りの文字列としてフォーマットされます。mapmode: 表示される地図の種類を設定します。standardまたはstreetviewに設定できます。指定しない場合、現在のアプリケーション設定が使用されます。views: 特定のビューのオン / オフを切り替えます。satellite、traffic、transitのいずれかに設定できます。複数の値を設定するには、カンマ区切りを使用します。値なしでパラメータを指定すると、すべてのビューがクリアされます。zoom: 地図のズームレベルを指定します。
次の URL の例では、ニューヨークを中心とする地図がズームレベル 14 で表示され、交通状況ビューが有効になっています。
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

以下に、その他の例を示します。
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
検索
このスキームを使用して、指定したビューポートの場所に検索クエリを表示します。
パラメータ
地図の表示に使用されるパラメータに加えて、検索では q パラメータがサポートされています。
q: 検索のクエリ文字列。
次の URL の例では、指定した場所の周辺で「ピザ」を検索します。
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135

以下に、その他の例を示します。
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
経路を表示する
このスキームを使用して、2 つの場所間のルートをリクエストして表示します。その際に、移動モードを指定することもできます。
パラメータ
saddr: ルート検索の出発地を設定します。緯度、経度、またはクエリ形式の住所を指定できます。複数の結果を返すクエリ文字列の場合、最初の結果が選択されます。値を空白のままにすると、ユーザーの現在の場所が使用されます。daddr: ルート検索の終点を設定します。saddrと同じ形式と動作です。directionsmode: 交通手段。driving、transit、bicycling、walkingのいずれかに設定できます。
次の URL の例では、Google NYC と JFK 空港間の乗換案内が表示されます。
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

以下に、その他の例を示します。
comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA¢er=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
アプリにナビゲーションを追加する
iOS 向け Google マップアプリを起動してルートをリクエストすると、アプリからターンバイターン方式のナビにアクセスできるようになります。comgooglemaps:// URL スキームを使用できます。
パソコン版 Google マップの URL から iOS 用 Google マップアプリを起動する
ウェブページやデータベースなど、アプリが既存の Google マップ URL にアクセスできる場合は、このスキームを使用して iOS 版 Google マップ アプリで URL を開き、ユーザーに最適なモバイル エクスペリエンスを提供できます。
http://またはhttps://スキームをcomgooglemapsurl://に置き換えます。
サポートされている Google マップの URL 形式
comgooglemapsurl:// スキームは、この正規表現に一致する URL をサポートします。ここで、{TLD} は有効なトップレベルの国別ドメインを指します。明確にするために記すと、改行が追加されています。
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Google マップ アプリの提供状況を確認する
まず、iOS 版 Google マップ アプリがデバイスで利用可能であり、URL スキームをサポートしていることを確認します。
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemapsurl://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
例
一般的な Google マップの URL の例:
元の Google マップ URL:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
使用する URL スキーム:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
一般的な Google マップの URL の例:
元の Google マップ URL:
https://maps.google.com/?q=@37.3161,-122.1836
使用する URL スキーム:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836