マップのグラウンディング ウィジェット

コンテキスト ウィジェットは、他の Google マップ コンテンツをサポートまたは補完するために使用されるビジュアル コンテナである Google マップの Pre-GA サービスです。Google マップのコンテキスト ウィジェットを使用すると、グラウンディングと Google マップをアプリケーションに統合して、会話型 LLM を活用したチャット エクスペリエンスを作成できます。コンテキスト ウィジェットは、Vertex AI API レスポンスで返されるコンテキスト トークン googleMapsWidgetContextToken を使用してレンダリングされます。このトークンは、ビジュアル コンテンツのレンダリングに使用できます。

コンテキスト ウィジェットは、シナリオに応じてさまざまな機能を果たします。

  • Google マップのプロンプトが回答の生成に使用されるシナリオで、主観的なユーザー作成コンテンツ(UGC)が表示されます。
  • Vertex AI がテキスト レスポンスのみを生成した場合に、地図の可視化とデータで結果を充実させるのに役立ちます。

コンテキスト ウィジェットの仕組み

コンテキスト ウィジェットには、Vertex AI の「Google マップによるグラウンディング」からのレスポンスが googleMapsWidgetContextToken の形式で表示されます。このトークンを使用して、コンテキスト ウィジェットをレンダリングし、レスポンスを表示します。詳細。イベント フローは次のとおりです。

  1. Google マップでグラウンディングされたクエリを使用して Vertex AI API を呼び出します。
  2. Vertex AI は googleMapsWidgetContextToken を返します。
  3. トークンを使用してコンテキスト ウィジェットをレンダリングします。
  4. コンテキスト ウィジェットに Vertex AI からのレスポンスが表示されます。

次の例は、Vertex AI API から返されたコンテキスト トークンの形式を示しています。

"googleMapsWidgetContextToken": "widgetcontent/AcBXPQdpWQWbap9H-OH8sEKmOXxmEKAYvff0tvthhneMQC3VrqWCjpnPBl4-Id98FGiA_S_t8aeAeJj0T6JkWFX56Bil8oBSR0W8JH3C_RSYLbTjxKdpxc9yNn6JcZTtolIRZon9xi6WpNGuSyjcIxWu2S0hwpasNOpUlWrG1RxVCB4WD1fsz_pwR236mG36lMxevXTQ_JnfdYNuQwQ4Lc3vn...<snip>...
Ts5VJE_b3IC5eE_6wez0nh61r7foTUZpP7BXMwxR-7Wyfcj6x1v6mIWsFGr1o0p_HSAMNqWPg-aFVnkPLhAkOR6MaNZOfezTva-gxHlu7z_haFvYxcUE1qfNVQ",

Google マップ コンテキスト ウィジェットをレンダリングする

Google マップのコンテキスト ウィジェットをレンダリングして使用するには、ウィジェットを表示するページで Maps JavaScript API のアルファ版を使用します。詳しくは、Maps JavaScript API を読み込むをご覧ください。また、Google Maps JavaScript API を読み込むために有効にした API キーを使用する必要があります。places ライブラリが読み込まれていることを確認します。

次のセクションでは、Google マップのコンテキスト ウィジェットをレンダリングする方法について説明します。カスタム HTML または JavaScript を使用してコンテキスト ウィジェットを作成します。

カスタム HTML 要素を使用する

次のセクションでは、カスタム HTML 要素を使用して Google マップのコンテキスト ウィジェットをレンダリングする方法について説明します。gmp-place-contextual 要素をページに追加して、コンテキスト ウィジェットを作成します。

  1. gmp-place-contextual 要素をページに追加します。

    <gmp-place-contextual id="widget"></gmp-place-contextual>
  2. Google マップに基づくレスポンスには、コンテキスト ウィジェットのレンダリングに使用できる対応する googleMapsWidgetContextToken があります。次の関数は、コンテキスト トークンを更新する方法を示しています。

    let widget = document.querySelector('#widget'); // a div that contains the widget
    widget.contextToken = contextToken;
  3. 省略可: リストのレイアウトを指定します。有効な値は次のとおりです。
    • コンパクト レイアウト: <gmp-place-contextual-list-config layout="compact">
    • 縦型レイアウト: <gmp-place-contextual-list-config layout="vertical">

    次の例は、リスト レイアウトをコンパクトに変更する方法を示しています。

    <gmp-place-contextual id="widget">
      <gmp-place-contextual-list-config layout="compact">
      </gmp-place-contextual-list-config>
    </gmp-place-contextual>
  4. 省略可: 地図モードを変更します。有効な値は次のとおりです。
    • 2D ロードマップ地図: <gmp-place-contextual-map-config map-mode="roadmap">
    • 3D ハイブリッド地図: <gmp-place-contextual-map-config map-mode="hybrid">
    • 地図なし: <gmp-place-contextual-map-config map-mode="none">
  5. 次の例は、地図モードを 2D 地図に変更する方法を示しています。
    <gmp-place-contextual id="widget">
      <gmp-place-contextual-map-config map-mode="roadmap">
      </gmp-place-contextual-map-config>
    </gmp-place-contextual>

JavaScript を使用する

次のセクションでは、PlaceContextualElement をプログラムで作成して DOM に追加することで、Google マップのコンテキスト ウィジェットをレンダリングする方法について説明します。

  1. コンテキスト ウィジェットを作成します。

    let widget = document.querySelector('#widget');  // a div that contains the widget
    
    async function createWidget(contextToken) {
      await google.maps.importLibrary('places');
      const placeContextualElement = new
          google.maps.places.PlaceContextualElement({ contextToken }); // contextToken can be empty at initialization.
      widget.appendChild(placeContextualElement);
    }
  2. Google マップに基づく回答には、コンテキスト ウィジェットのレンダリングに使用される対応する googleMapsWidgetContextToken があります。次の関数は、コンテキスト トークンを更新する方法を示しています。
    widget.contextToken = contextToken;
  3. 省略可: リストのレイアウトを指定します。有効な値は次のとおりです。
    • コンパクト レイアウト: google.maps.places.PlaceContextualListLayout.COMPACT
    • 縦型レイアウト: google.maps.places.PlaceContextualListLayout.VERTICAL
  4. 次の例は、リスト レイアウトをコンパクトに変更する方法を示しています。

    const widgetConfig = new google.maps.places.PlaceContextualListConfigElement({
      layout: google.maps.places.PlaceContextualListLayout.COMPACT
    });
    widget.appendChild(widgetConfig);
  5. 省略可: 地図モードを変更します。有効な値は次のとおりです。
    • 2D ロードマップ地図: google.maps.places.PlaceContextualListMapMode.ROADMAP
    • 3D ハイブリッド地図: google.maps.places.PlaceContextualListMapMode.HYBRID
    • 地図なし: google.maps.places.PlaceContextualListMapMode.NONE
  6. 次の例は、地図モードを 2D 地図に変更する方法を示しています。

    const widgetConfig = new google.maps.places.PlaceContextualListConfigElement({
      mapMode: google.maps.places.PlaceContextualListMapMode.ROADMAP
    });
    widget.appendChild(widgetConfig);

禁止地域

Google マップでは、安全で信頼性の高いプラットフォームを維持するために、特定のコンテンツやアクティビティを制限しています。禁止されている地域の一覧については、Google Maps Platform で禁止されている地域をご覧ください。