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

このドキュメントの新しいバージョンでは、新しい 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

最初の結果は「Parking Saemes Maubert-Lagrange」(48.850591、2.3486436)です。次のパートでは、この位置情報を使用して 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 に向かおうとしています。通常、ユーザーは「Heathrow」と入力し始め、正しい結果が表示された場合は、最初の 2 ~ 3 件の結果から選択することがほとんどです。選択した結果から、「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

上記のクエリでは、ターミナルと、そのターミナルにある個々の降車ポイントのリストが返されます。結果のリストから、「London Heathrow Airport Terminal 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 ソリューション エンジニア