はじめに
マップ URL を使用すると、プラットフォームをまたいで使用できる共通の URL を作成して、Google マップを起動したり、検索を行ったり、ルートやナビゲーションを取得したり、地図ビューやパノラマ画像を表示したりできます。URL の構文は、使用するプラットフォームに関係なく同じです。
マップ URL を使用するために Google API キーは必要ありません。
ユニバーサルなクロスプラットフォーム構文
Android アプリ、iOS アプリ、またはウェブサイトのデベロッパーは、一般的な URL を作成できます。これにより、マップが開かれているプラットフォームに関係なく、Google マップを開いて必要なアクションが実行されます。
- Android デバイスの場合:
- Android 向け Google マップ アプリをインストールしてインストールすると、URL でマップアプリで Google マップが起動し、リクエストしたアクションが実行されます。
- Google マップ アプリがインストールされていない場合や無効になっている場合、URL はブラウザで Google マップを起動し、リクエストされた操作を実行します。
- iOS デバイスの場合:
- iOS 向け Google マップ アプリがインストールされている場合、URL によってマップアプリで Google マップが起動し、リクエストしたアクションが実行されます。
- Google マップ アプリがインストールされていない場合、URL はブラウザで Google マップを起動し、リクエストされた操作を実行します。
- 他のデバイスの場合は、ブラウザで Google マップが起動し、リクエストされたアクションが実行されます。
アプリやプラットフォームから Google マップを起動するには、クロス プラットフォーム URL を使用することをおすすめします。これらのユニバーサル URL では、使用しているプラットフォームに関係なく、幅広いマップ リクエストを処理できます。モバイル プラットフォームだけでしか機能しない機能(ターンバイターン方式のナビゲーションなど)の場合、Android または iOS 用のプラットフォーム固有のオプションを使用することをおすすめします。次のドキュメントを参照してください。
- Android 向け Google マップ インテント - Android 向け Google マップ アプリをリリースする際に使用します。
- iOS 向け Google マップ URL スキーム - iOS 向け Google マップ アプリをリリースする際に使用します。
Google マップを起動し、特定のアクションを実行する
Google マップを起動し、サポートされているいずれかの機能を実行するには、リクエストされた操作に応じて、次のいずれかの形式の URL スキームを使用します。
- 検索 - 特定の場所へのピンを表示する Google マップを起動するか、一般的な検索を行って地図を表示し、結果を表示します。
https://www.google.com/maps/search/?api=1¶meters
- ルート - ルートをリクエストして、その結果を含む Google マップを起動します。
https://www.google.com/maps/dir/?api=1¶meters
- 地図を表示する
- マーカーや経路を表示せずに Google マップを起動します。
https://www.google.com/maps/@?api=1&map_action=map¶meters
- ストリートビュー パノラマを表示する
- インタラクティブなパノラマ画像を起動します。
https://www.google.com/maps/@?api=1&map_action=pano¶meters
重要: パラメータ api=1
は、この URL が意図しているマップ URL のバージョンを識別します。このパラメータはすべてのリクエストで必須です。有効な値は 1 のみです。api=1
が URL に存在していない場合、すべてのパラメータが無視され、デフォルトの Google マップアプリが、使用するプラットフォームに応じてブラウザまたは Google マップモバイルアプリ(例: https://www.google.com/maps)で起動します。
有効な URL の作成
URL は適切にエンコードする必要があります。
たとえば、一部のパラメータではパイプ文字(|
)が区切り文字として使用され、最終ページ URL で %7C
としてエンコードする必要があります。他のパラメータでは、緯度/経度の座標や都市、都道府県など、カンマ区切りの値を使用します。カンマは %2C
としてエンコードする必要があります。スペースは %20
でエンコードするか、プラス記号(+
)に置き換えます。
また、URL はリクエストごとに 2,048 文字に制限されています。URL の作成時には、この制限に注意してください。
地図操作
使用できる地図アクションは、検索、ルートの表示、地図の表示、ストリートビュー パノラマの表示です。アクションは、リクエスト URL に、必須および省略可能なパラメータとともに指定します。URL の標準と同様に、パラメータをアンパサンド(&
)文字を使用して区切ります。各操作について、パラメータのリストとその有効な値が「検索パラメータ」セクションに列挙されています。
検索
検索操作では、表示可能な地図地域全体に対する検索結果が表示されます。特定の場所を検索すると、地図に指定した場所にピンが表示され、場所の詳細情報が表示されます。
検索 URL の形成
https://www.google.com/maps/search/?api=1¶meters
パラメータ
query
(必須): 地図上でハイライト表示する場所を定義します。このクエリ パラメータは、すべての検索リクエストに必要です。query_place_id
(省略可): 場所 ID は、場所を一意に識別するテキスト表記の ID です。search
アクションでは、query
を指定する必要がありますが、query_place_id
を指定することもできます。両方のパラメータを指定した場合、query
は、Google マップで場所 ID が見つからない場合にのみ使用されます。特定の施設に明確にリンクする場合は、場所 ID を表示すると、正しい場所にリンクされることが保証されます。また、緯度と経度の座標を使用して特定の場所をクエリする場合は、query_place_id
を送信することをおすすめします。
検索の例
場所の検索
場所検索では、場所の名前、住所、または緯度と経度の座標(カンマ区切り)を使用して特定の場所を検索すると、地図にその場所のピンが表示されます。これら 3 つの例は、同じ場所である CenturyLink Field(ワシントン州シアトルのスポーツ スタジアム)を異なる地域値で検索している例です。
例 1: 場所の名前「CenturyLink Field」を検索すると、次の地図が表示されます。
https://www.google.com/maps/search/?api=1&query=centurylink+field
例 2: 緯度/経度の座標と場所 ID を使用して CenturyLink フィールドを検索すると、次の地図が表示されます。
例 3: 緯度と経度の座標のみを使用して CenturyLink フィールドを検索すると、次の地図が表示されます。地図上にピンが表示されますが、地図やサイドパネルに場所に関する追加情報は表示されません。
https://www.google.com/maps/search/?api=1&query=47.5951518%2C-122.3316393
カテゴリ検索
カテゴリ検索では、一般的な検索キーワードを渡すと、Google マップは指定された地域の近くにある条件に一致するリスティングを見つけます。現在地が指定されていない場合、Google マップは現在地付近のリスティングを検索します。カテゴリ検索に場所を指定する場合は、一般的な検索文字列に場所を含めます(例: pizza+seattle+wa
)。
この例では、ワシントン州シアトルでピザレストランを検索すると、次の地図が表示されます。
https://www.google.com/maps/search/?api=1&query=pizza+seattle+wa
Directions
ルート アクションでは、地図上に指定した 2 つ以上の地点間のルートに加え、距離と移動時間が表示されます。
ルート URL のフォーマット
https://www.google.com/maps/dir/?api=1¶meters
パラメータ
origin
: ルートを表示する出発地を定義します。デフォルトでは、ユーザーの現在地など、最も関連性の高い開始位置が使用されます。それ以外の場合、作成された地図に空白のフォームが表示され、ユーザーがオリジンを入力できるようになります。値は、場所の名前、住所、またはカンマ区切りの緯度と経度の座標のいずれかです。文字列は URL エンコードを使用して、「City Hall, New York, NY」などの住所をCity+Hall%2C+New+York%2C+NY
に変換する必要があります。注: URL に
origin_place_id
を指定しない限り、このパラメータは省略可能です。origin_place_id
を指定する場合は、URL にorigin
も含める必要があります。origin_place_id
(省略可): 場所 ID は、場所を一意に識別するテキスト表記の ID です。施設を明確に指定しようとしている場合は、場所 ID を使用することをおすすめします。そうすることで、適切な場所にリンク付けられるようになります。このパラメータを使用する URL にはorigin
も含める必要があります。destination
: ルートのエンドポイントを定義します。それ以外の場合、作成された地図に空白のフォームが表示され、ユーザーが目的地に入ることができます。値は、場所の名前、住所、またはカンマ区切りの緯度と経度の座標のいずれかです。文字列は URL エンコードを使用して、「City Hall, New York, NY」などの住所をCity+Hall%2C+New+York%2C+NY
に変換する必要があります。注: URL に
destination_place_id
を指定しない限り、このパラメータは省略可能です。destination_place_id
を指定する場合は、URL にdestination
も含める必要があります。destination_place_id
(省略可): 場所 ID は、場所を一意に識別するテキスト表記の ID です。施設を明確に指定しようとしている場合は、場所 ID を使用することをおすすめします。そうすることで、適切な場所にリンク付けられるようになります。このパラメータを使用する URL にはdestination
も含める必要があります。travelmode
(省略可): 移動手段を定義します。オプションとしては、driving
、walking
(該当する場合、歩行者専用道路や歩道が推奨)、bicycling
(自転車専用道路と優先道路を使うルート)、transit
があります。travelmode
が指定されていない場合、指定したルートやユーザー設定に最も関連性の高いモードが 1 つ以上表示されます。dir_action=navigate
(省略可): 出発地点が利用可能かどうかに応じて、ターンバイターン方式ナビまたはルート プレビューを指定された目的地まで起動します。ユーザーが起点を指定し、その現在地がユーザーの現在地に近い場合や、ユーザーの現在地が利用できない場合は、地図でルートのプレビューが起動します。 ユーザーがオリジンを指定していない場合(オリジンがユーザーの現在地にデフォルト設定されている場合)、またはオリジンがユーザーの現在地の近くにある場合、地図はターンバイターン方式のナビを起動します。なお、一部の Google マップ サービスやすべての目的地は、ナビゲーションを使用できない場合があります。そのような場合、このパラメータは無視されます。waypoints
:origin
とdestination
の間の経路をルーティングする中間の場所を指定します。複数の地点は、パイプ文字(|
)を使用して別々の場所(Berlin,Germany|Paris,France
など)に指定できます。指定できる地点の数は、リンクを開くプラットフォームによって異なります。モバイル ブラウザでは、最大 3 つの地点を使用できます。それ以外の場合は最大 9 つの地点を使用できます。 地点は URL のリストと同じ順序で地図上に表示されます。 各地点には、地名、住所、または緯度/経度のカンマ区切り座標を使用できます。文字列は URL エンコードする必要があります。たとえば、ベルリン、ドイツ、パリ、フランスなどの地点はBerlin%2CGermany%7CParis%2CFrance
に変換する必要があります。メモ:
- 地点によっては一部の Google マップ サービスに対応していない場合があります。そのような場合、このパラメータは無視されます。
- URL に
waypoint_place_ids
を指定しない限り、このパラメータは省略可能です。waypoint_place_ids
を指定する場合は、URL にwaypoints
も含める必要があります。
waypoint_place_ids
(省略可): 場所 ID は、場所を一意に識別するテキスト表記の ID です。Waypoint_place_ids
を使用すると、waypoints
のリストと一致する場所 ID のリストを指定できます。場所 ID は地点と同じ順序でリストし、パイプ文字「&」を使用して区切ります(|
は%7C
として URL エンコードされています)。特定の施設を明確に指定しようとしている場合は、場所 ID にリンクすることをおすすめします。このパラメータを使用する URL にはwaypoints
も含める必要があります。
ルートの例
次の URL は、ルートモードで地図を起動し、ユーザーが出発地と目的地を入力できるフォームを表示します。
https://www.google.com/maps/dir/?api=1
次のサンプルでは、スペース ニードルからワシントン州シアトルのパイク プレイス マーケットまでの自転車ルートを含む地図が起動されます。
次のサンプルでは、オーストラリアのシドニーにある Google からクイーン ビクトリア ビルまでの徒歩ルートの地図が起動されます。
マップを表示する
地図アクションは、マーカーやルートのない地図を返します。
地図の URL の形成
https://www.google.com/maps/@?api=1&map_action=map¶meters
パラメータ
map_action=map
(必須): 表示する地図ビューのタイプを指定します。マップとストリートビューは同じエンドポイントを共有します。地図を表示するには、map_action
をmap
に指定する必要があります。center
(省略可): 地図ウィンドウの中心を定義し、緯度/経度の座標をカンマ区切り値として受け入れます(例:-33.8569,151.2152
)。zoom
(省略可): 地図の初期ズームレベルを設定します。指定できる値は、0(全世界)から 21(個々のビルディング)までの範囲の整数です。上限は、選択した場所で利用可能な地図データによって異なります。デフォルトは 15 です。basemap
(省略可): 表示する地図のタイプを定義します。値は、roadmap
(デフォルト)、satellite
、terrain
のいずれかです。layer
(省略可): 地図上に表示する追加のレイヤを定義します(存在する場合)。値は、none
(デフォルト)、transit
、traffic
、bicycling
のいずれかです。
マップの例
この URL の例では、ユーザーの現在地を中心としたデフォルトの Google マップを起動します。
https://www.google.com/maps/@?api=1&map_action=map
次のサンプルでは、オーストラリアのカトゥーンバ(NSW)を中心とする地図(-33.712206,150.311941
)を表示し、オプションの zoom
パラメータと basemap
パラメータを設定しています。
ストリートビュー パノラマの表示
パノラマ操作を使用すると、ビューアを起動して、ストリートビュー画像をインタラクティブ パノラマとして表示できます。各ストリートビュー パノラマは、単一地点からの 360 度ビューを提供します。画像は、360 度の水平ビュー(周囲全体)と 180 度の垂直ビュー(真上から真下)で構成されます。パノラマ アクションにより、カメラが球体としてレンダリングされ、そのパノラマが中央に配置されたビューアが起動されます。カメラを操作して、ズームやカメラの向きを制御できます。
Google ストリートビューは、指定された対象地域全体について、指定された場所からのパノラマビューを提供します。ユーザーの投稿 360°写真とストリートビューのスペシャル コレクションも利用可能です。
ストリートビュー URL の形成
https://www.google.com/maps/@?api=1&map_action=pano¶meters
パラメータ
map_action=pano
(必須): 表示するビューのタイプを指定します。マップとストリートビューは同じエンドポイントを共有します。パノラマを表示するには、action
をpano
に指定する必要があります。
次のいずれかの URL パラメータも必要です。
viewpoint
: ビューアで、viewpoint
の場所に最も近いパノラマ写真を表示します。カンマ区切りの緯度/経度の座標で指定します(例: 46.414382,10.013988)。ストリートビューの画像は定期的に更新され、毎回少し異なる位置から撮影される場合があります。画像を更新したときに、現在地が別のパノラマに撮影されることがあります。pano
: 表示する画像の特定のパノラマ ID。pano
を指定する場合、viewpoint
も指定できます。viewpoint
は、Google マップでパノラマ ID を検出できない場合にのみ使用されます。pano
を指定しても見つからない場合、viewpoint
が指定されていない場合、パノラマ画像は表示されません。代わりに、Google マップはデフォルトのモードで開き、ユーザーの現在地を中心とした地図を表示します。
次の URL パラメータは省略可能です。
heading
: カメラのコンパス方位を北から時計回りの角度で示します。指定できる値は -180 ~ 360 度です。省略した場合、デフォルトの見出しは、クエリの視点(指定されている場合)と画像の実際の位置に基づいて選択されます。pitch
: カメラの角度(上または下)を指定します。 ピッチは -90 ~ 90 の度数で指定します。正の値を指定するとカメラは上向きになり、負の値を指定するとカメラは下向きになります。デフォルトのピッチ 0 は、画像がキャプチャされたときのカメラの位置に基づいて設定されます。このため、ピッチは 0 であることがよくありますが、常に水平であるわけではありません。たとえば、山で撮影された画像は、水平ではないデフォルトのピッチで表示されます。fov
: 画像の水平画角を決定します。 画角は 10 ~ 100 の範囲で示されます。デフォルトは 90 です。固定サイズのビューポートを扱う場合、画角はズームレベルとみなされます(小さい数値はより高いズームレベルを示します)。
ストリートビューの例
最初の 2 つのサンプルは、エッフェル塔のパノラマ画像を表示します。この例では、ビジネスに viewpoint
のみを使用し、オプションの heading
、pitch
、fov
パラメータを設定しています。比較のため、例 2 では pano
ID と最初の例で設定したものと同じパラメータを使用しています。3 番目の例では、屋内のパノラマ画像が表示されています。
例 1: viewpoint
のみを使用して位置を指定している。
例 2: pano
ID と viewpoint
の場所を使用。
pano
ID は viewpoint
よりも優先されます。この例ではパノラマ ID が見つかるため、viewpoint
は無視されます。pano
ID で表示されるパノラマ画像は、viewpoint
のみを使用して見つかった画像とは多少異なり、新しい画像となります。
例 3: イギリスのロンドンにある Sarastro レストランの内部のパノラマを、パノラマ ID を指定して指定
https://www.google.com/maps/@?api=1&map_action=pano&pano=4U-oRQCNsC6u7r8gp02sLA
パノラマ ID の検索
特定のパノラマ画像の ID を確認するには、複数の方法があります。
- JavaScript の場合は、StreetViewPanorama クラスを使用します。
- Android の場合は、公開クラス StreetViewPanoramaLocation を使用します。
- iOS の場合は、GMSPanorama クラスを使用します。
- Google Street View Image API を使用してメタデータ リクエストを行うこともできます。 画像メタデータのリクエストでは、ストリートビュー パノラマに関するデータ(パノラマ ID を含む)が提供されます。
その他の例
地点を使用したルートの例
次のサンプルでは、Google マップを起動し、フランスのパリからフランスのシェルブールへの運転ルートと、次の地点からの運転ルートが表示されます。
国、市区町村 | 場所の名前 | プレイス ID |
---|---|---|
1. ベルサイユ(フランス) | ヴェルサイユ宮殿 | ChIJdUyx15R95kcRj85ZX8H8OAU |
2. シャルトル(フランス) | シャルトル大聖堂 | ChIJKzGHdEgM5EcR_OBTT3nQoEA |
3. ルマン(フランス) | ルマン セント ジュリアン大聖堂 | ChIJG2LvQNCI4kcRKXNoAsPi1Mc |
4. カーン(フランス) | カーン城 | ChIJ06tnGbxCCkgRsfNjEQMwUsc |
このサンプル URL では、地点の定義方法が異なるため、生成される地図では地点の表示の違いが違います。
例 1: 地点として定義される地点:
例 2: 特定の場所名として定義された地点:
例 3: 都市と国として定義された地点。また、各地点内の特定の施設の waypoint_place_ids
も提供。
例 4: 地点を都市、国として定義しますが、地点の例を上記のサンプルとは異なる順序で指定します。URL で指定された順序で地点を地図に表示します。
マップの例
指定した basemap
(航空写真)と layer
(交通機関)を指定した地図を表示します。
ストリートビューの例
FIFE 画像キーを pano
ID として使用し、ストリートビュー パノラマを表示します。pano
ID の前に F: が付加されています。