位置情報を認識する今日の環境では、ユーザーは場所の情報、ルート、ナビゲーションにシームレスにアクセスできることを期待しています。メッセンジャー アプリ、ローカル コンテキスト ディスカバリー アプリ、物流 / 輸送プラットフォーム、旅行プランナー、不動産リスティング プラットフォームなど、ユーザーは多くの場合、場所の詳細をすばやく確認したり、A 地点から B 地点までの最適なルートを見つけたりする必要があります。デベロッパーはアプリ内エクスペリエンスを独自に構築できますが、Google マップの包括的で使い慣れたインターフェースを活用することで、優れたエクスペリエンスを提供できます。
シームレスなユーザー エクスペリエンスを実現するには、Google マップの URL を適切に構成することが不可欠です。URL が正しくないと、ユーザー エクスペリエンスが損なわれ、ユーザーが間違った場所に移動したり、詳細な情報ではなく一般的な地図が表示されたり、リンク切れが発生したりする可能性があります。これにより、ユーザーは不満を感じ、目標を達成できなくなります。たとえば、有効な Google マップの URL を使用していても、特定のビジネスの詳細情報を期待していたユーザーが、関連情報のない一般的な地図ビューに移動してしまうことがあります。以下の例をご覧ください。
https://www.google.com/maps/search/?api=1&query=-33.8567%2C151.2152
このマップ URL は、Google マップを開いて、緯度と経度に基づいて位置情報を表示するのに有効です。ただし、特定の場所に関する詳細はユーザーに提供されません。

正確な URL を使用してアプリケーションと Google マップをシームレスに連携させる

Google Maps Platform(GMP)では、正確な URL を作成するための 2 つの主な方法が用意されています。API キーが必要な Places API(新版)と、無料でキーを必要としないマップ URL です。次のソリューションは、さまざまなシナリオとユースケースに対応しています。
GMP Places API(新版)の googleMapsUri フィールドまたは googleMapsLinks フィールドを使用する
GMP Places API(新版)は、特定の場所に関する包括的な情報を返します。googleMapsUri
フィールドまたは googleMapsLinks
フィールドをリクエストすると(フィールド マスクで指定)、API レスポンスにプレイス オブジェクトが含まれます。このオブジェクトには、Google マップで対応するビュー(場所の詳細ビューなど)を直接開くために使用できる、事前フォーマット済みの URL が含まれています。
例:
Place Details リクエスト
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: YOUR_API_KEY" \ -H "X-Goog-FieldMask: googleMapsUri,googleMapsLinks" \ https://places.googleapis.com/v1/places/ChIJ3S-JXmauEmsRUcIaWtf4MzE
Place Details レスポンス:
{ "googleMapsUri": "https://maps.google.com/?cid=3545450935484072529", "googleMapsLinks": { "directionsUri": "https://www.google.com/maps/dir//''/data=!4m7!4m6!1m1!4e2!1m2!1m1!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!3e0", "placeUri": "https://maps.google.com/?cid=3545450935484072529", "writeAReviewUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!12e1", "reviewsUri": "https://www.google.com/maps/place//data=!4m4!3m3!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!9m1!1b1", "photosUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!10e5" } }
上記の例の ChIJ3S-JXmauEmsRUcIaWtf4MzE
は、シドニー オペラハウスのプレイス ID です。プレイス ID は、Google プレイスのデータベースおよび Google マップで、特定の場所を一意に識別するテキスト表記の ID です。
プレイス ID を無料で取得する
プレイス ID をプログラムで取得するには、Places API: Text Search(ID のみ)機能を使用します。これは、プレイス ID を取得するための費用のかからない方法です。場所 ID と Place API(新版)リクエストの詳細を確認する。
Places API Text Search(ID のみ)リクエスト:
curl -X POST -d '{"textQuery" : "Sydney Opera House"}' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Places API Text Search(ID のみ)のレスポンス:
{ "places": [ { "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE" } ] }
ユーザーが地図上のスポットをクリックまたはタップしたときに、プレイス ID を取得することもできます。クリック可能な POI アイコンの詳細(JavaScript、Android、iOS)
実装
Places API を使用する場合、デベロッパーはレスポンスから googleMapsUri
フィールドまたは googleMapsLinks
フィールドを抽出して、Google マップ アプリで対応するビューを起動したり、アプリがインストールされていない場合はブラウザで起動したりできます。
機能 | 説明 |
---|---|
directionsUri | ユーザーの現在地からこの場所までの経路を表示する Google マップを開くリンク |
placeUri | この場所の Google マップのプレイス詳細ページを開くリンク |
writeAReviewUri | この場所のクチコミ作成ページを Google マップで開くためのリンク |
reviewsUri | この場所のクチコミ ページを Google マップで開くためのリンク |
photosUri | この場所の写真ページを Google マップで開くためのリンク |
デベロッパー向けガイダンスを確認して、今すぐこの機能をお試しください。
マップの URL を活用する
マップ URL を使用すると、プラットフォームをまたいで使用できる共通の URL を作成して、Google マップを起動したり、検索を行ったり、ルートやナビゲーションを取得したり、地図ビューやパノラマ画像を表示したりできます。URL の構文は、使用しているプラットフォームに関係なく同じです。マップ URL を使用するために Google API キーは必要ありません。
使用可能なマップ アクションは次のとおりです。
検索機能は、Google マップ アプリを起動するか、アプリがインストールされていない場合はブラウザを起動して、特定の場所のピンを表示するか、一般的な検索を実行して地図を起動し、結果を表示します。
経路案内機能は、Google マップ アプリを起動するか、アプリがインストールされていない場合はブラウザを起動して、地点間の経路を表示したり、モバイル デバイスの Google マップでターンバイターン ナビゲーションを有効にしたりします。
ストリートビュー パノラマ関数を使用すると、ビューアを起動して、ストリートビュー画像をインタラクティブなパノラマとして表示できます。
その他の関数と例については、GMP Maps URL のデベロッパー向けドキュメントをご覧ください。
ここでは、マップ URL の 2 つの重要な機能について詳しく説明します。
Google マップに場所の詳細を表示する: このセクションでは、Google マップに特定の場所の詳細を表示する URL を作成する方法について説明します。また、Place ID と正確なクエリを使用して、名前が一意でない場所を扱う方法についても詳しく説明します。
マップ URL を使用して経路を提供する: このセクションでは、複数の経由地を含む経路やターンバイターン ナビゲーションなど、地点間の経路を提供する URL を作成する方法について説明します。
Google マップに場所の詳細を表示する
Search 関数は、場所の検索を完了するために 2 つのパラメータ(query
(必須)と query_place_id
(省略可))を受け取ります。
query
パラメータはすべての検索リクエストで必須です。地名、緯度と経度の座標(カンマ区切り)、一般的な検索語句を指定できます。
検索 URL の構造:
https://www.google.com/maps/search/?api=1¶meters
シナリオ 1: 一意の地名の場所の詳細を表示する
https://www.google.com/maps/search/?api=1&query=Sydney%20Opera%20House

次に、一意でない名前の場所について考えてみましょう。この一意でない名前のみで検索するとどうなりますか?次のシナリオを参照してください。
シナリオ 2: 一意でない地名で場所を検索する
https://www.google.com/maps/search/?api=1&query=7-Eleven
場所の名前は一意ではないため、この URL を開くと、ビューポート内の近くのセブンイレブンの場所のリストが表示されます。ユーザーは特定の店舗を選択して、詳細を確認できます。

場所のリストを回避して特定の詳細ページに直接アクセスするには、より正確な方法を使用します。次の例をご覧ください。
シナリオ 3: 一意でない地名の場所の詳細を表示する
一般的な地名の場合、単純な名前検索で場所のリストが返されることがよくあります。特定の詳細ページに直接リンクするには、次のいずれかの方法を使用します。
方法 1: 地名と住所を使用した正確なクエリを使用する
https://www.google.com/maps/search/?api=1&query=7-Eleven%2C37%20Swanston%20St%2C%20Melbourne%20Australia
この URL では、query
パラメータは場所名、住所の形式になっています。これにより、検索を絞り込み、目的の場所に直接リンクできます。
方法 2: 場所 ID を使用する
プレイス ID は、Google プレイスのデータベースおよび Google マップで、特定の場所を一意に識別する ID です。
https://www.google.com/maps/search/?api=1&query=7-Elevan&query_place_id=ChIJGcmcg7ZC1moRAOacd3HoEwM
ここで、ChIJGcmcg7ZC1moRAOacd3HoEwM
は特定の場所の一意のプレイス ID です。query
パラメータは引き続き必要ですが、Google マップで場所 ID が見つからない場合にのみ使用されます。
シナリオ 4: 緯度と経度の座標とプレイス ID を使用して場所の詳細を表示する
プレイス ID を使用すると、Google マップに場所の詳細情報が表示されます。
https://www.google.com/maps/search/?api=1&query=-33.8567%2C151.2152&query_place_id=ChIJ3S-JXmauEmsRUcIaWtf4MzE

プレイス ID を無料で取得する
プレイス ID をプログラムで取得するには、Places API: Text Search(ID のみ)機能を使用します。これは、プレイス ID を取得するための費用のかからない方法です。場所 ID と Place API(新版)リクエストの詳細をご確認ください。
Places API Text Search(ID のみ)リクエスト:
curl -X POST -d '{"textQuery" : "Sydney Opera House"}' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: places.id' 'https://places.googleapis.com/v1/places:searchText'
Places API Text Search(ID のみ)のレスポンス:
{ "places": [ { "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE" } ] }
ユーザーが地図上のスポットをクリックまたはタップしたときに、プレイス ID を取得することもできます。クリック可能な POI アイコンの詳細(JavaScript、Android、iOS)
まとめ
正確な場所の詳細を提供することは、ユーザー エクスペリエンスを向上させるうえで非常に重要です。ユーザーが正しいスポットの詳細ページにアクセスできるようにするには、次の推奨形式のいずれかを使用して検索 URL を作成します。
query=PLACE_NAME, ADDRESS
query=PLACE_NAME&query_place_id=PLACE_ID
特定の場所の詳細を表示することが目的の場合は、query
パラメータで緯度/経度座標のみを使用しないでください。query=latitude,longitude
、query=PLACE_NAME,latitude,longitude
、query=ADDRESS,latitude,longitude
などの形式では、目的のスポットの詳細ページに一貫して移動することはできません。代わりに、その場所の緯度と経度が表示されます。
マップの URL を使用したカテゴリ検索
カテゴリ検索では、一般的な検索キーワードを渡すと、Google マップは指定した場所の近くで条件に一致するリスティングを見つけようとします。場所が指定されていない場合、Google マップは現在地の近くのリスティングを検索します。
シナリオ 1: 付近の場所の検索
https://www.google.com/maps/search/?api=1&query=Cafe%20near%20Sydney%20Opera%20House%20that%20are%20open%20now

マップの URL を使用して経路を表示する
ルート機能では、地図上の 2 つ以上の指定された地点間の経路と、距離や移動時間が表示されます。これにより、デベロッパーは提供されるルートをより細かく制御できます。GMP の Maps URLs Directions のドキュメントには、カスタマイズされたルートの URL を作成する手順が詳しく記載されています。
ルートの URL 構造:
https://www.google.com/maps/dir/?api=1¶meters
シナリオ 1: 現在地から目的地までの最適な経路を検索する
https://www.google.com/maps/dir/?api=1&destination=Flinders%20Station%20Melbourne&travelmode=driving
この URL を開くと Google マップが開き、ユーザーの現在地からの運転ルートが表示されます。
この URL では、origin
が省略されています。origin
が省略されている場合、パスは、利用可能な場合はデバイスの位置など、最も関連性の高い開始位置にデフォルト設定されます。結果の地図には、ユーザーが出発地を入力できるフォームが表示されます。出発地と目的地の値には、地名、住所、またはカンマ区切りの緯度と経度の座標を指定できます。
travelmode
は省略可能なパラメータです。移動手段を定義します。このパラメータは次のように設定できます。
- 車
- ウォーキング
- 自転車
- オートバイ
- transit
travelmode が指定されていない場合、Google マップには、指定されたルートやユーザー設定に最も関連性の高いモードが 1 つ以上表示されます。
デベロッパーは、origin_place_id
パラメータと destination_place_id
を使用してプレイス ID を指定することもできます。場所 ID を使用すると、正しい場所にリンクされる可能性が最も高くなります。
プレイス ID を無料で取得する
プレイス ID をプログラムで取得するには、Places API: Text Search(ID のみ)機能を使用します。これは、プレイス ID を取得するための費用のかからない方法です。場所 ID と Place API(新版)リクエストの詳細をご確認ください。
Places API Text Search(ID のみ)リクエスト:
curl -X POST -d '{"textQuery" : "Sydney Opera House"}' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: places.id' 'https://places.googleapis.com/v1/places:searchText'
Places API Text Search(ID のみ)のレスポンス:
{ "places": [ { "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE" } ] }
ユーザーが地図上のスポットをクリックまたはタップしたときに、プレイス ID を取得することもできます。クリック可能な POI アイコンの詳細(JavaScript、Android、iOS)

シナリオ 3: ターンバイターン方式のナビゲーションを提供する
https://www.google.com/maps/dir/?api=1&destination=Flinders%20Station%20Melbourne&travelmode=driving&dir_action=navigate
URL で dir_action=navigate
を設定すると、ユーザーの現在地(デバイスの位置情報)が利用可能で、出発地として使用されている場合(明示的に指定されているか、出発地パラメータが省略されている場合に暗黙的に使用されている)、Google マップがターンバイターン ナビゲーション モードで起動します。それ以外の場合は、経路のプレビューが表示されます。
dir_action=navigate が設定され、次の条件を満たす場合、ターンバイターン方式のナビゲーションが起動します。
- オリジンが指定されており、ユーザーの現在地に近い
- 出発地が省略され、ユーザーの現在地が利用可能である
ルートのプレビューは、次のときに起動します。
dir_action=navigate
が設定されていませんdir_action=navigate
が設定され、オリジンが指定されているが、オリジンがユーザーの現在地から離れているdir_action=navigate
が設定され、オリジンが省略され、ユーザーの現在地が利用できない
なお、Google マップ ウェブなどの一部の Google マップ サービスや、一部の目的地間ではナビゲーションを利用できません。このような場合、このパラメータは無視されます。
![]() |
![]() |
まとめ
Google マップの URL を正しく作成することで、ユーザーがすばやく効率的に必要な情報を入手できるようになります。
常に目的地を指定し、精度を保証するために可能な限り場所 ID を使用する
すぐにナビゲーションを開始することが目的の場合は、dir_action=navigate パラメータを含めて、ターンバイターンのナビゲーションをトリガーします。デバイスの位置情報が利用可能で、出発地として使用されている場合(明示的に設定されているか省略されているかに関わらず)、ナビゲーションはユーザーの現在地から開始されます。
アプリケーションに適したアプローチを選択する
主な方法は 2 つあります。Places API が提供する事前フォーマット設定済みの URL を利用する方法と、アプリケーションで Google マップの URL を手動で作成する方法です。それぞれにメリットとデメリットがあります。
Places API:
プレイスの詳細レスポンスの
googleMapsUri
フィールドとgoogleMapsLinks
フィールドには、すぐに使用できる URL が用意されています。これにより、開発時間を短縮し、URL 形式のエラーのリスクを最小限に抑えることができます。ルートの構成を制御する機能が少ない。
googleMapsLinks
は基本的なルート案内を提供しますが、経由地や高度なカスタマイズはサポートしていません。また、ターンバイターン ナビゲーションを直接トリガーするのは比較的簡単ではありません。
マップ URL:
柔軟性と制御性が向上します。デベロッパーは、場所の詳細を表示する URL を作成し、経由地の追加、移動手段の指定、ターンバイターン ナビゲーションの開始など、ルートのさまざまな側面を設定できます。
URL パラメータと構造について深く理解する必要があります。手動で構築すると、慎重に行わないとエラーが発生する可能性が高くなります。
UTM パラメータを含む Google マップの URL の改善
デベロッパーがマップ URL をどのように統合しているかを Google がより正確に把握し、最適なパフォーマンスを確保できるようにするため、URL の作成時に UTM トラッキング パラメータを含めることをおすすめします。utm_source
パラメータと utm_campaign
パラメータを追加すると、使用パターンを分析して Maps URLs プロダクトを改善するために役立つデータが提供されます。
utm_source
パラメータには、アプリケーションの名前を使用します。utm_campaign
パラメータには、ユーザーの意図したアクション(「location_sharing」、「place_details_search」、「directions_request」など)を反映する必要があります。
たとえば、UTM パラメータを含む URL は次のようになります。
https://www.google.com/maps/search/?api=1&query=Sydney+Opera+House&query_place_id=ChIJ3S-JXmauEmsRUcIaWtf4MzE&utm_source=YourAppName&utm_campaign=place_details_search
これらのパラメータを常に使用することで、改善すべき領域を特定し、問題をより効果的にトラブルシューティングし、最終的にすべてのユーザーに優れたエクスペリエンスを提供できるようになります。
次のステップ
参考資料:
寄稿者
主な著者:
Teresa Qin | Google Maps Platform ソリューション エンジニア