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

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

通常、ユーザーがスポット(地図上の場所)に車で移動する場合は、駐車場やアクセス ポイントなどの近くの場所へのナビゲーションを必要とします。空港やショッピング モールに行く必要があるドライバーを想像してみてください。空港に向かう場合、ドライバーは空港敷地の中心ではなく、ターミナルまたは乗車 / 降車地点を目指しています。同様に、車で移動するユーザーには、ショッピング モールの隣にある駐車場の方がはるかに便利なオプションになる可能性があります。この場合、ドライバーを案内するアプリやサービスを開発する場合は、まず目的地を特定し、その場所の近くにあるオプションの目的地をドライバーに提示します。このアプローチでは、Google Maps Platform が提供する位置情報を活用して、小さいながらもスマートな開発作業で、お客様により良いサービスを提供して、お客様の時間を大切にしていることを示します。

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

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

例 1 - 駐車場のない観光スポット

道路に直接接続されていない場所を選択して、ルートを個別に取得します。目的地はパリの ノートルダム出発地Gare de l’Est 鉄道駅(48.87697775149635、2.3592247806755564)にします。

Gare de l'Est

運転手はノートルダムから北へ 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,
                },
  ...

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

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

デベロッパーまたはサービス プロバイダは、ドライバーに「ノートルダム大聖堂の近くに駐車場を探していますか?」というメッセージを自動的に表示することをおすすめします。ユーザー エクスペリエンスはデバイスと画面によって異なりますが、この場合は、しばらくすると消える控えめなポップアップ テキストを検討することをおすすめします。ノートルダム大聖堂の近くの駐車場を検索するには、タイプ「駐車場」と半径「300」のパラメータを設定して Places API Text Search を実行します。この例では、ノートルダムから 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 - 大規模な空港のターミナルへの案内

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

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

ただし、大きな空港を利用したことのある人なら誰でも、間違った場所に到着した場合、ターミナル間の移動にかなりの時間がかかるということをご存じでしょう。この場合、検索結果のタイプが「空港」であるため、ロンドン ヒースロー空港の位置情報(51.47016927594547、-0.45432767852489075)を使用して「ターミナル」を検索するフォローアップ クエリを自動的に実行すると便利です。この例では、検索範囲を 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 マップ プラットフォームの GitHub リポジトリをご覧ください。

次のアクション

主な作成者

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