iOS 9 以降を搭載したデバイスでは、 ユニバーサル リンクで Google Google マップの URL がある場合にマップに表示されます。
Google マップの URL スキームを使用すると、 iOS 向け Google マップ アプリ: 検索や経路案内を行います マップビューを表示します。Google マップを起動すると リクエストの一部として自動的に送信されます。
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://
とcomgooglemaps-x-callback://
- これらのスキーム iOS 向け Google マップ アプリを起動して、 アクション:- 位置とズーム レベルを指定して地図を表示する。
- 位置やスポットを検索し、地図上に表示する。
- ある地点から別の地点への経路を要求する。ルートを返すことができます 4 つの移動手段(車、徒歩、自転車、公共)を利用できます。 あります
- アプリにナビゲーションを追加します。
- iOS 8 では、アプリの完了時にコールバックを発行します。
comgooglemaps-x-callback://
。コールバックは多くの場合、 iOS 向け Google マップを最初に開いたアプリにユーザーを戻します。注: 「戻る」ボタンが自動的に表示されます。左上のリンクをクリックし ステータスバーに表示されます。
comgooglemapsurl://
- このスキームを使用すると、Google マップ アプリを起動できます (iOS の場合はパソコン版の Google マップ ウェブサイトから取得した URL を使用)つまり シンプルな設計ではなくネイティブなモバイル体験をユーザーに提供できます Google マップのウェブサイトを読み込んでいます。maps.google.com
やgoogle.com/maps
の元の URL を指定できます。 または、com
の代わりに有効な国のトップレベル ドメインを使用してください。goo.gl/maps
リダイレクト URL を渡すこともできます。x-source
とx-success
を使用してコールバックを発行できます。 パラメータをcomgooglemapsurl://
URL スキームに置き換えます。
iOS 向け Google マップ アプリの起動と特定の機能の実行
iOS 向け Google マップ アプリを起動し、必要に応じて 次の形式の URL スキームを使用します。
comgooglemaps://?parameters
または
comgooglemaps-x-callback://?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
検索
ビューポート位置を指定して検索を実行するには、以下のスキームを使用します。
パラメータ
地図の表示に使用されるパラメータに加えて、Google 検索では q
がサポートされています。
パラメータを指定します。
q
: 検索のクエリ文字列。
次の URL の例では、指定した場所の周辺で「Pizza」を検索します。
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 ニューヨーク市と 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
コールバック URL の指定
コールバック URL を指定する場合は、
comgooglemaps-x-callback://
URL スキーム。このスキームは、
x-callback-url の仕様iOS 向け Google マップ アプリを呼び出したとき
このスキームでは、アプリの上部に
画面に表示されます。このボタンをタップすると、指定した URL へのコールバックが
表示されます。
comgooglemaps-x-callback://
へのリクエストの形式は次のとおりです。
comgooglemaps-x-callback://?parameters
パラメータ
x コールバック URL スキームは、comgooglemaps://
と同じパラメータを受け入れます。
次の追加パラメータを含む URL スキーム。どちらのパラメータも
必要ありません。
x-source
- x-callback を送信するアプリケーションの名前 リクエストできます。短めの名前を指定することが推奨されています。x-success
- 完了時に呼び出す URL。多くの場合、これにより アプリの URL スキームにして、ユーザーが元のアプリに戻れるようにする 説明します。
なお、アプリが固有の URL スキームを登録できるようにするには、 コールバック URL に応答します。
- アプリケーションが応答可能な URL スキームを登録していることを確認する コールバックリクエストに渡します。
x-source
パラメータでコールバック ボタンのラベルを渡します。x-success
パラメータでコールバック URL を渡します。
次の例では、iOS 向け Google マップ アプリを起動して地図を表示します
ニューヨークを中心として移動しましたアプリには [SourceApp] というラベルのボタンも表示されます。
「SourceApp」がボタンをクリックすると、iOS 向け Google マップ アプリが
架空の URL スキーム sourceapp://?resume=true
へのコールバック。
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
comgooglemaps://
URL スキームと同様に、まず、
iOS 向け Google マップ アプリはこのデバイスでご利用いただけます。
x-callback URL スキームを使用します。アプリは URL スキームが利用可能か確認できます
これを次のコードに置き換えます。
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
これは、ユーザーが検索した後にアプリに戻るための URL の例です。 あります。
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
アプリにナビゲーションを追加する
ルート リクエストを使用して iOS 向け Google マップ アプリを起動すると、
ユーザーがアプリからターンバイターン方式のナビにアクセスできるようにします。次を使用:
comgooglemaps://
または comgooglemaps-x-callback://
のいずれかの URL スキームを指定します。
次のコード スニペットは、comgooglemaps-x-callback://
スキームを使用して以下を行う方法を示しています。
ルートをリクエストして、ユーザーの準備が整ったらアプリに戻ります。「
コードは次のようになります。
comgooglemaps-x-callback://
URL スキームが使用可能であることを確認します。- iOS 向け Google マップ アプリを起動して、JFK 空港までの経路を ニューヨーク市です。出発地の住所を空白のままにして、 ユーザーの現在地を確認できます
- 「AirApp」というボタンを追加します。iOS 向け Google マップ アプリをご覧ください。ボタン
ラベルは
x-source
パラメータで定義されます。 sourceapp://
という架空の URL スキームを、ユーザーが 戻るボタン。
Swift
let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
let directionsRequest = "comgooglemaps-x-callback://" +
"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
"&x-success=sourceapp://?resume=true&x-source=AirApp"
let directionsURL = URL(string: directionsRequest)!
UIApplication.shared.openURL(directionsURL)
} else {
NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}
Objective-C
NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
NSString *directionsRequest = @"comgooglemaps-x-callback://" +
@"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
@"&x-success=sourceapp://?resume=true&x-source=AirApp";
NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
[[UIApplication sharedApplication] openURL:directionsURL];
} else {
NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}
Google マップのデスクトップ URL から iOS 向け Google マップ アプリを起動する
アプリが既存の Google マップの URL(ウェブページなど)にアクセスできる場合 スキーマを使用して Google マップ アプリで URL を開くことができます。 ネイティブ エクスペリエンスが損なわれることはありません。
http://
またはhttps://
スキームをcomgooglemapsurl://
に置き換えます。- コールバックを使用する場合は、
x-source
とx-success
を含めます。 あります。このスキームは、x-callback-url の仕様に準拠しています。
サポートされている 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:"comgooglemaps-x-callback://")!)
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
x-callback で東京タワーへのルートをリクエストする例:
元の Google マップ URL:
http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
次の例では、iOS 向け Google マップ アプリが起動して地図が表示されます
Google マップの元の URL で指定されている、東京タワーまでのルートを検索
(上記を参照)。アプリはこのボタンに
「SourceApp」。「SourceApp」がボタンがクリックされると、iOS 向け Google マップ アプリ
架空の URL スキーム sourceapp://?resume=true
へのコールバックを発行します。
comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
&x-source=SourceApp
&x-success=sourceapp://?resume=true