位置情報が重視される今日の社会では、ユーザーは場所の情報、 経路、ナビゲーションにシームレスにアクセスできることを期待しています。メッセンジャー アプリ、ローカル コンテキスト 検出アプリ、物流および輸送プラットフォーム、旅行プランナー、または 不動産リスティング プラットフォームなど、どのようなアプリであっても、ユーザーは場所の詳細をすばやく確認したり、A 地点から B 地点までの最適なルートを 見つけたりする必要があります。デベロッパーはアプリ内 エクスペリエンスを独自に構築できますが、包括的で使い慣れた Google マップのインターフェースを 活用することで、より優れたエクスペリエンスを提供できます。
シームレスなユーザー エクスペリエンスを実現するには、適切に構造化された Google マップの URL が不可欠です。 URL が正しくないと、ユーザーが間違った場所に移動したり、具体的な詳細ではなく一般的な地図ビューが表示されたり、無効なリンクになったりして、エクスペリエンスが損なわれます。これにより、ユーザーは不満を感じ、目的を達成できなくなります。 たとえば、有効なマップ URL を使用していても、特定のビジネスの詳細を期待していたユーザーが、関連情報のない一般的な地図ビューに移動してしまう可能性があります。以下の例をご覧ください。
https://www.google.com/maps/search/?api=1&query=-33.8567%2C151.2152
このマップ URL は、Google マップを開き、緯度と経度に基づいて場所を表示するのに有効です。 ただし、 特定の場所に関する詳細は表示されません。
正確な URL を使用してアプリと Google マップをシームレスに連携させる
Google Maps Platform(GMP)では、正確な URL を作成するための主な方法として、API キーが必要な Places API(New)と、無料で キーが不要なマップ URL の 2 つが用意されています。次のソリューションは、さまざまなシナリオ とユースケースに対応しています。
GMP Places API(New)の googleMapsUri または googleMapsLinks フィールドを使用する
GMP Places API(New)は、
特定の場所に関する包括的な情報を返します。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 をプログラムで取得するには、Places API: テキスト検索(ID のみ)機能を使用します。これは、プレイス ID を取得するための無料の方法です。詳しくは、プレイス ID と Place API(New) リクエストをご覧ください。
Places API テキスト検索(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 テキスト検索(ID のみ)レスポンス:
{
"places": [
{
"id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
}
]
}プレイス ID は、ユーザーが地図上のスポットをクリックまたはタップしたときにも取得できます。 クリック可能なスポット アイコンの詳細(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 マップ URL デベロッパー ドキュメントにアクセスして、その他の機能と例をご確認ください。
ここでは、マップ URL の 2 つの重要な機能について詳しく説明します。
Google マップに場所の詳細を表示する: このセクションでは、Google マップに特定の場所の詳細を表示する URL を 作成する方法について説明します。 また、プレイス ID と正確なクエリを使用して、名前が一意でない場所を操作する方法についても詳しく説明します。
マップ URL を使用して経路を提供する: このセクションでは、複数の経由地を含む経路やターンバイターン方式のナビゲーションなど、地点間の経路を提供する URL を作成する方法について説明します。
Google マップに場所の詳細を表示する
検索機能は、場所の検索を完了するために 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 マップ で、場所を一意に識別します。
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: テキスト検索(ID のみ)機能を使用します。これは、プレイス ID を取得するための無料の方法です。 詳しくは、プレイス ID と Place API(New) リクエストをご覧ください。
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 テキスト検索(ID のみ)レスポンス:
{
"places": [
{
"id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
}
]
}プレイス ID は、ユーザーが地図上のスポットをクリックまたはタップしたときにも取得できます。 クリック可能なスポット アイコンの詳細(JavaScript、Android、iOS)
まとめ
正確な場所の詳細を提供することは、ポジティブなエクスペリエンスを実現するために不可欠です。ユーザーが正しい場所の詳細ページに移動できるようにするには、 次のいずれかの推奨形式を使用して検索 URL を作成します。
query=PLACE_NAME, ADDRESSquery=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 のマップ URL 経路検索ドキュメントでは、カスタマイズされた経路の 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
移動手段が指定されていない場合、Google マップには、指定したルートやユーザーの設定に最も 関連性の高い移動手段が 1 つ以上表示されます。
デベロッパーは、origin_place_id パラメータと
destination_place_id を使用してプレイス ID を指定することもできます。プレイス ID を使用すると、正しい場所に
リンクできる可能性が最も高くなります。
プレイス ID を無料で取得する
プレイス ID をプログラムで取得するには、 Places API: テキスト検索(ID のみ)機能を使用します。これは、プレイス ID を取得するための無料の方法です。 詳しくは、プレイス ID と Place API(New) リクエストをご覧ください。
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 テキスト検索(ID のみ)レスポンス:
{
"places": [
{
"id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
}
]
}プレイス ID は、ユーザーが地図上のスポットをクリックまたはタップしたときにも取得できます。 クリック可能なスポット アイコンの詳細(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 マップ サービスや、すべての目的地間で利用できるわけではありません。その場合、このパラメータは 無視されます。
![]() |
![]() |
まとめ
マップ URL を正しく作成することで、ユーザーは必要な 情報を迅速かつ効率的に取得できます。
常に目的地を指定し、可能な限りプレイス ID を使用して 正確性を確保する
すぐにナビゲーションを開始する場合は、dir_action=navigate パラメータを含めて、ターンバイターン方式のナビゲーションをトリガーします。デバイスの位置情報が利用可能で、 出発地として使用されている場合(明示的に設定されているか、省略されている場合)、ナビゲーションは ユーザーの現在地から開始されます。
アプリケーションに適したアプローチを選択する
主なオプションは 2 つあります。 Places API で提供される事前フォーマット済みの URL を利用するか、アプリケーションでマップ URL を手動で作成します。それぞれのアプローチには、メリットとデメリットがあります。
Places API:
Place Details レスポンスの
googleMapsUriフィールドとgoogleMapsLinksフィールドには、すぐに使用できる URL が用意されています。これにより、開発時間を短縮し、URL のフォーマットのエラーのリスクを最小限に抑えることができます。経路の構成を細かく制御することはできません。
googleMapsLinksは基本的な経路を提供しますが、経由地や高度なカスタマイズはサポートしていません。また、ターンバイターン方式のナビゲーションを直接トリガーするのは比較的簡単ではありません。
マップ URL:
柔軟性と制御性が向上します。デベロッパーは、場所の詳細を表示する URL を作成し、経由地の追加、移動手段の指定、ターンバイターン方式のナビゲーションの開始など、経路のさまざまな側面を構成できます。
URL パラメータと構造を深く理解する必要があります。手動で作成する場合は、慎重に行わないとエラーが発生する可能性があります。
UTM パラメータを使用してマップ URL を改善する
デベロッパーがマップ URL をどのように統合しているかを Google が把握し、
最適なパフォーマンスを確保できるようにするため、URL の作成に UTM トラッキング パラメータを
含めることをおすすめします。utm_source パラメータと utm_campaign パラメータを追加すると、使用パターンを分析して
マップ URL プロダクトを改善できる貴重なデータを提供できます。
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 ソリューション エンジニア

