車で目的地に移動する際のユーザー エクスペリエンスを最大限に高めるためのヒント

このドキュメントには、新しい Places API と Routes API の使用方法の例が記載された新しいバージョンがあります。

通常、ユーザーが目的地(POI)まで車で移動する場合、実際には駐車場やアクセス ポイントなど、近くの場所までのナビゲーションが必要になります。たとえば、空港やショッピング モールまで車で行く必要があるドライバーを考えてみましょう。空港に行く場合、ドライバーは空港敷地の中心ではなく、ターミナルや降車ポイントに到着しようとします。同様に、ショッピング センターの隣にある駐車場は、車で移動するユーザーにとって最適な選択肢となる可能性があります。この場合、ドライバーを誘導するアプリやサービスを開発するときは、まず目的地を見つけてから、その場所の近くにある目的地候補をドライバーに提示します。このアプローチにより、Google Maps Platform が提供する位置情報データを活用した、小規模ながらスマートな開発で、お客様に優れたサービスを提供し、お客様の時間を大切にしていることを示すことができます。

[システム コンテキスト] 高レベルのナビゲーション システム
車で目的地までドライバーを誘導する際に使用されるシステムの簡略図
システム概要図

ここでは、Places API と Directions API を順番に、または組み合わせて使用して、目的地に近い適切な駐車場を特定する方法について説明します。 このソリューションは、目的地に近づいたときに駐車場を探す際の不確実性と複数の操作を解消することを目的としています。これらのケースを詳細に実装する方法について、2 つの例を見てみましょう。

例 1 - 駐車場のない観光名所

道路に直接接続されていない場所を選択して、ルートを別途取得する必要があります。目的地 はパリのノートルダム大聖堂出発地パリ東駅 (48.87697775149635, 2.3592247806755564)とします。

パリ東駅

ドライバーはノートルダム大聖堂の北約 16 分の駅から出発します。ノートルダム大聖堂は、橋でアクセスできる島にある有名な観光名所で、一方通行の道路がいくつかあり、近くに大きな駐車場はありません。これは興味深い課題です。

Places API リクエスト

この Places API リクエストの例では、「テキスト検索」を使用してノートルダム大聖堂を検索しています。詳しくは デベロッパー向け ドキュメント をご覧ください。これらの例の「YOUR_KEY」は、Google Cloud コンソールで有効になっている Google Maps Platform Places API と Directions API の API キーです。詳細については、Google Maps Platform を使ってみるのドキュメントをご覧ください。

https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014&region=fr&key=YOUR_KEY

上記のリクエストに対するレスポンスは、次の緯度と経度の座標になります。

  "results" : [
      {
        "formatted_address" : "Notre Dame, Paris",
        "geometry" : {
           "location" : {
               "lat" : 48.8527288,
                },
  ...

ご覧のとおり、座標はノートルダム大聖堂を正確に示しています。

ノートルダムの写真
地図上のノートルダム

デベロッパーまたはサービス プロバイダは、ドライバーに「ノートルダム大聖堂の近くの駐車場をお探しですか?」と自動的に促すことをおすすめします。デバイスや画面によってユーザー エクスペリエンスは異なりますが、この場合は、短時間で消える控えめなポップアップ テキストを検討する価値があります。ノートルダム大聖堂の近くの駐車場を検索するには、タイプ「parking」と半径「300」のパラメータを設定して、Places API テキスト検索を行います。この例では、ノートルダム大聖堂から 300 メートル以内の駐車場に結果が偏ります。

https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635&region=fr&type=parking&radius=300&key=YOUR_KEY

最初の結果は、48.850591, 2.3486436 の「Parking Saemes Maubert-Lagrange」です。 次のパートでは、Directions API リクエストを実行する際にこの場所を使用します。

Directions API リクエスト

駅からノートルダム大聖堂に近い駐車場までのルートを検索するには、Directions API リクエストを行う必要があります。出発地と目的地のパラメータを設定するだけです。その他のオプションについては、デベロッパー 向けドキュメント をご覧ください。

https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY

Direction API レスポンスには通常、複数のルート候補が含まれます。各ルートは複数の「区間」で構成され、それらには移動距離と座標を示す複数の「ステップ」が含まれています。車で到達できる最終的な座標を検索するには、選択したルートの最後の区間の最後のステップの「end_location」フィールドを使用します。

この場所は最初の選択肢ではないように思えるかもしれませんが、地図や Google ストリートビューを見ると、ノートルダム大聖堂から徒歩 6 ~ 7 分程度の非常に近い場所にあることがわかります。

駐車場からノートルダム大聖堂までの徒歩ルート

駐車場からノートルダム大聖堂までの徒歩ルート

例 1 のまとめ

ご覧のとおり、車の駐車場を検索するには、数回の API 呼び出しと、ドライバーへの候補の表示のみが必要です。これにより、ユーザーは一方通行の道路を走り回ったり、混雑した観光名所で車を停める場所を探したりする必要がなくなり、時間を節約できます。まとめとして、次の API リクエストを行いました。

  • ノートルダム大聖堂の座標を検索する Places API リクエスト
  • その座標から 300 メートル以内の駐車場を検索する Places API リクエスト
  • 駐車場までのルートを検索する Directions API リクエスト

例 2 - 大規模な空港のターミナルへの誘導

地図上のヒースロー空港
ドライバーが複数の場所、POI、降車ポイントの候補がある広いエリアに到着しようとしている別の例を考えてみましょう。ドライバーは英国のウェンブリー スタジアム(51.557263604707224, -0.2794575145680608)から出発し、ロンドン ヒースロー空港ターミナル 5 に到着しようとしています。通常、ユーザーは「ヒースロー」と入力し始め、正しい結果と思われる場合は、最初の 2 ~ 3 件の結果のいずれかを選択することがほとんどです。選択した結果から、「types」フィールドの値を読み取ることで、その場所が空港であることがわかります。タイプの完全なリストはこちらで確認できます

  "types" : [ "airport", "point_of_interest", "establishment" ],

ただし、大規模な空港に行ったことがある人なら誰でも、間違った場所に到着した場合、ターミナル間の移動にかなりの時間がかかることを知っています。この場合、検索結果のタイプは「airport」であるため、ロンドン ヒースロー空港(51.47016927594547, -0.45432767852489075)の位置情報を使用して、「terminal」を検索するクエリを自動的に実行すると便利です。この例では、検索半径を 3,000 メートルに制限するオプションも確認できます。

  https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075&region=gb&key=YOUR_KEY&radius=3000

上記のクエリでは、ターミナルと、それらのターミナルの個々の降車ポイントのリストが返されます。結果のリストから、「ロンドン ヒースロー空港ターミナル 5」とそのプレイス ID を確認できます。

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

「place_id」パラメータを使用すると、任意の座標ではなく、特定の場所に到着しようとしていることを Directions API に伝えることができます。

  https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY

前の例と同様に、JSON レスポンスのすべてのステップを読み取ることで、移動の最後の部分と、最終的な場所の緯度と経度の座標(51.47079979999999, -0.4896765)を確認できます。

ヒースロー空港ターミナル 5

例 2 のまとめ

前の例と同様に、ドライバーへの誘導を改善するための開発作業は非常に少なく、ドライバーの時間の節約というメリットは簡単に測定できます。次のリクエストを行いました。

  • ヒースロー空港を検索する Places API リクエスト
  • ヒースロー空港の座標に近いすべてのターミナルを検索する Places API リクエスト
  • ターミナル 5 までのルートを取得する Directions API リクエスト

まとめ

ご覧のとおり、車で移動するお客様にプレミアム サービスを提供するために必要な開発作業は比較的少なく、お客様のニーズをどのように考えているかを簡単に示すことができます。

開発目的で、お客様向けのサービスの構築に役立つ多くのライブラリやツールを使用できます。Google Maps Platform の一般公開されている GitHub リポジトリをご覧ください。

次のステップ

主な作成者

Mikko Toivanen | Google Maps Platform ソリューション エンジニア