Maps JavaScript API のポリシーと帰属表示

このドキュメントでは、 Maps JavaScript API で開発されたアプリケーションの要件について説明します。Maps JavaScript API の使用には、 Google との契約が適用されます。

ポリシー

このセクションでは、Maps JavaScript API に関連するポリシーについて説明します。ポリシーは、Google Maps Platform の期待に沿ってサービスを正しく使用するための、実践的な実装ガイドラインと要件を提供します。

キャッシュ保存の制限の例外

ただし、プレイスを一意に識別するために使用されるプレイス ID は、キャッシング制限の適用対象外 のため、無期限で保存できます。 プレイス ID は、place_id フィールドで API レスポンスで返されます。プレイス ID を保存、更新、管理する方法については、プレイス ID のガイドをご覧ください。

コンテンツ スクレイピング

プレイス名は、ユーザーがアプリを操作したときに返されることがあります。 ユーザー セッション以外のコンテキストで使用するためにプレイス名を取得または保持することは、スクレイピングに該当し、利用規約で禁止されています。

欧州経済領域の国と地域

請求先住所が 欧州経済領域(EEA)にあるお客様の場合、このプロダクトの利用規約が異なり、機能も異なる場合があります。 Google Maps Platform を使用して構築する前に、EEA 固有の次の 規約と情報をご確認ください。

請求先住所が EEA にない場合は、次の利用規約が適用されます。

Google マップの帰属表示の要件

このセクションでは、アプリケーションを通じて Google マップとコンテンツを表示するための帰属表示の要件とガイドラインについて説明します。

アトリビューションの例

Places UI キットの帰属表示の例を次に示します。

Google マップ以外の地図での Places UI キットの帰属表示の例
プレイスの詳細のコンパクト コンポーネントに適用される必須の帰属表示。 Google 以外の地図では、Google マップの帰属表示が明確に表示され、Google Maps Platform のコンテンツが他のコンテンツと視覚的に区別されています。

Google マップの帰属表示を表示する

アプリやウェブサイトで Google Maps Platform API のコンテンツを表示する場合は、Google マップの帰属表示の要件に準拠する必要があります。帰属表示がすでに表示されている Google マップにコンテンツを表示する場合は、追加の帰属表示は必要ありません。

Google マップの帰属表示を含める

Places UI キットなど、Google Maps Platform によって ユーザー インターフェースにすでに提供されている Google マップの帰属表示の場合:

  • 表示場所に関係なく、含まれている帰属表示を削除しないでください。帰属表示を変更したり、隠したり、 不明瞭にしたりしないでください。背景に対して明確に表示されるようにしてください。
  • 枠線、背景色、シャドウ、十分な空白などの UI キューを使用して、Google Maps Platform のコンテンツを他のコンテンツと視覚的に区別してください。
  • 視覚的な変更を行う場合は、Google マップの帰属表示の要件をすべて遵守する必要があります。

可能な限り、帰属表示には Google マップのロゴを使用してください。 スペースが限られている場合は、「Google マップ 」というテキストを使用できます。 Google マップによって提供されるコンテンツをエンドユーザーが常に明確に認識できるようにする必要があります。

左: Google マップのロゴによる帰属表示、右: Google マップのテキストによる帰属表示
左: Google マップのロゴの帰属表示の例、右: Google マップのテキストの帰属表示の例

ロゴの帰属表示

アプリやウェブサイトで Google マップのロゴを使用する場合は、次の要件に準拠してください。
Google マップのロゴの帰属表示で許容されるバリエーション
Google マップのロゴの帰属表示で許容されるバリエーションの例

Google マップのロゴをダウンロードする

Google マップの公式ロゴファイルを使用してください。以下のロゴをダウンロードし、このセクションのガイドラインに沿って使用してください。

Google マップの帰属表示アセットをダウンロードする

Google マップのロゴを使用する場合は、次のガイドラインに沿ってください。

  • ロゴを変更しないでください。
  • ロゴのアスペクト比を維持して、歪みを防ぎます。
  • 地図や画像など、背景が複雑な場合は、アウトライン ロゴを使用してください。
  • 単色や微妙なグラデーションなど、背景がシンプルな場合は、アウトラインのないロゴを使用してください。

ロゴのサイズ仕様

Google マップのロゴのサイズ仕様は次のとおりです。
  • ロゴの最小高さ: 16 dp
  • ロゴの最大高さ: 19 dp
  • ロゴの最小クリアスペース: 左、右、上は 10 dp、下は 5 dp

dp について詳しくは、マテリアル デザインのウェブサイトのピクセル密度をご覧ください。

最小クリアスペースと許容されるサイズ範囲を示す Google マップのロゴ
最小クリアスペースと許容されるサイズ範囲を示す Google マップのロゴの例

ロゴのアクセシビリティ

Google マップのロゴのアクセシビリティに関する要件は次のとおりです。
  • ロゴと背景のコントラストをアクセシビリティの高いものにしてください。
  • Google マップ 」というテキストを含むアクセシビリティ ラベルを含めてください。
Google マップのロゴの帰属表示に関する許容されないバリエーションとアクセシビリティの問題
Google マップのロゴの帰属表示で許容されないバリエーションとアクセシビリティの問題の例

テキスト属性

インターフェースのサイズが Google マップのロゴの使用をサポートしていない場合は、「Google マップ 」というテキストを使用できます。次のガイドラインに沿ってください。

Google マップのテキストでの帰属表示の許容されるバリエーション
Google マップのテキストの帰属表示で許容されるバリエーションの例
  • Google マップ 」というテキストは一切変更しないでください。
    • Google マップ の文字の大小は変更しないでください。
    • Google マップ を複数行に折り返さないでください。
    • Google マップ を他の言語にローカライズしないでください。
    • HTML 属性 translate="no" を使用して、ブラウザが Google マップ を翻訳しないようにします。
Google マップのテキストでの帰属表示の許容されないバリエーション
Google マップのテキストの帰属表示で許容されないバリエーションの例
  • 次の表の説明に従って、Google マップのテキストのスタイルを設定します。

    Google マップのテキストのスタイル設定の要件
    プロパティ スタイル
    フォント ファミリー Roboto。フォントの読み込みは任意です。
    代替フォント ファミリー プロダクトですでに使用されている Sans Serif の本文フォント、またはデフォルトのシステム フォントを呼び出すための Sans-Serif
    フォント スタイル 標準
    フォントの太さ 400
    フォントの色 白、黒(#1F1F1F)、グレー(#5E5E5E)。背景に対してアクセシビリティの高い(4.5:1)コントラストを維持します。
    フォントサイズ 最小フォントサイズ: 12sp
    最大フォントサイズ: 16sp
    sp について詳しくは、マテリアル デザインのウェブサイトでフォントサイズの単位をご覧ください。
    文字間隔 標準

CSS の例

次の CSS は、白または明るい背景に適切なタイポグラフィ スタイルと色で Google マップをレンダリングします。

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

ビジュアル要件

Google マップの帰属表示のビジュアル処理については、次の要件に準拠してください。
  • 帰属表示は、コンテンツの上部または下部の近くに、同じビジュアル コンテナ内に配置します。コンテンツが 1 行の場合は、右または左に配置できます。

  • 枠線、背景色、シャドウ、十分な空白などの UI キューを使用して、Google Maps Platform のコンテンツを他のコンテンツと視覚的に区別してください。

  • Google Maps Platform 以外のコンテンツを帰属表示として使用して、Google マップを誤って表現しないでください。
  • 帰属表示が常に表示され、読みやすいことを確認してください。削除、非表示、不明瞭化、変更は行わないでください。

次の図は、これらのビジュアル要件の例を示しています。

コンテンツの上、下、横に配置された Google マップの帰属表示の例
コンテンツの上部、下部、横に配置された Google マップの帰属表示の例

Google マップのコンテンツ(場所の評価)を他のコンテンツと区別する 2 つのアプローチの例
Google マップのコンテンツ(プレイスの評価)を他のコンテンツと区別する 2 つの方法の例

Google マップの帰属情報を隠したり、他の情報源のコンテンツと混同したりしないでください
Google マップの帰属表示を不明瞭にしたり、他のソースのコンテンツと混在させたりしないでください

第三者データ プロバイダ

Google のマッピング サービスのデータと画像の中には、Google 以外のプロバイダから提供されているものがあります。 Map Tiles API などの一部のプロダクトでは、第三者データ プロバイダに必要な帰属表示 を提供することがあります。その場合、帰属情報の文言には 「Google マップ」の名称と関連する データ プロバイダ名(「地図データ: Google, Maxar Technologies」など)を記載する必要があります。Google が第三者の帰属表示を提供する場合、「Google マップ」または Google ロゴのみを表示しただけでは帰属表示として適切ではありません。

その他の帰属表示要件

サードパーティの帰属表示を取得し、アプリに帰属表示を配置する手順は次のとおりです。

プレイスから帰属表示を取得する

Place.fetchFields を呼び出して取得したクチコミ情報を表示する場合、取得したプレイスの詳細に関するサードパーティ帰属もアプリに表示する必要があります。

API により Place オブジェクトが返されます。Place オブジェクトから帰属表示を取得するには、Place.attributions プロパティを使用します。このプロパティはすべてのリクエストとともに返されます(フィールドで指定する必要はありません)。このプロパティにより、String オブジェクトの List が返されます。表示する帰属表示がない場合は null が返されます。次のサンプルコードは、プレイスを取得し、帰属をリストする方法を示しています。

  // Use place ID to create a new Place instance.
  const place = new Place({
      id: 'ChIJB9a4Ifl744kRlpz0BQJzGQ8', // Crazy Good Kitchen
  });

  // Call fetchFields, passing the desired data fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // Check for any place attributions.
  if (!place.attributions) {
      console.log('No attributions were found.');
      return;
  } else {
      // Log the place attribution
      for (var attribution of place.attributions) {
          console.log(attribution);
      }
  }

  

クチコミを表示する

Place オブジェクトには最大 5 つのクチコミを含めることができ、各クチコミは Review オブジェクトで表されます。アプリでのクチコミ表示は省略可です。

Google ユーザーが投稿したクチコミを表示する場合は、投稿者の名前を近くに配置する必要があります。Review オブジェクトの投稿者帰属フィールドから取得できる場合は、投稿者の写真とプロフィールへのリンクも含めることをおすすめします。次の図は、公園のクチコミの例を示しています。

投稿者の帰属表示

次の例は、プレイスの取得、クチコミの確認、最初のクチコミのデータの表示を行う方法を示しています。

  // Use place ID to create a new Place instance.
  const place = new Place({
    id: "ChIJpyiwa4Zw44kRBQSGWKv4wgA", // Faneuil Hall Marketplace, Boston, MA
  });

  // Call fetchFields, passing "reviews" and other needed fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // If there are any reviews display the first one.
  if (!place.reviews) {
      console.log('No reviews were found.');
  } else {
      // Log the review count so we can see how many there are.
      console.log("REVIEW COUNT: " + place.reviews.length);

      // Get info for the first review.
      let reviewRating = place.reviews[0].rating;
      let reviewText = place.reviews[0].text;
      let authorName = place.reviews[0].authorAttribution.displayName;
      let authorUri = place.reviews[0].authorAttribution.uri;

      // Create a bit of HTML to add to the info window
      const contentString =
        '<div id="title"><b>' + place.displayName + '</b></div>' +
        '<div id="address">' + place.formattedAddress + '</div>' +
        '<a href="' + authorUri + '" target="_blank">Author: ' + authorName + '</a>' +
        '<div id="rating">Rating: ' + reviewRating + ' stars</div>' +
        '<div id="rating""><p>Review: ' + reviewText + '</p></div>';

      // Create an info window.
      infoWindow = new InfoWindow({
          content: contentString,
          ariaLabel: place.displayName,
      });

      // Add a marker for the place.
      const marker = new AdvancedMarkerElement({
          map,
          position: place.location,
          title: place.displayName,
      });

      // Show the info window.
      infoWindow.open({
          anchor: marker,
          map,
      });
  }
  

場所のクチコミに関するドキュメントをご覧ください。

写真の帰属を表示する

アプリに写真を表示する場合は、各写真の所有者の帰属を表示する必要があります。レスポンスの Place オブジェクト内の写真に関する詳細は、photos 配列に含まれます。photos 配列をレスポンスに追加するには、リクエストに photos データ フィールドを含めます。

photos 配列の各要素は Photo のインスタンスです。この中には AuthorAttribution 型の authorAttributions 配列が含まれます。AuthorAttribution オブジェクトのフィールドは、帰属の displayNameuriphotoUri を含む文字列です。表示する帰属がない場合は空の文字列となります。

場所の写真に関するドキュメントをご覧ください。

検索結果の属性

欧州において Google 独自のランキング システムを使用する場合は、検索サービスに説明テキストを表示して、検索結果のランキングを決める主な要素とそれらの重み付けが、直接または 1 クリックで表示されるようにする必要があります。説明テキスト:

見出し: 検索結果について

本文: Google マップで指定した場所の付近の店舗などを検索すると、ローカル検索の結果が表示されます。検索結果の精度を高めるため、ローカル検索の結果は複数の要素(主に関連性、距離、知名度)に基づいて生成されます。

ボタン 1: 詳細
「詳細」テキストは、ヘルプセンターの記事にリンクさせます。

ボタン 2: OK

エンドユーザーの住所の予測入力

エンドユーザーが顧客アプリケーション内で予測入力機能を使用して番地を入力し、その番地が予測入力なしでエンドユーザーによって完全かつ正確に入力された場合、エンドユーザーが選択した住所には、Google Maps Platform 契約の Google マップ コンテンツの制限は適用されません。この例外は、エンドユーザーが選択した番地と、そのエンドユーザーの特定の取引にのみ適用されます。予測入力機能によって提供される候補の住所のリストや、その他の Google マップ コンテンツには適用されません。この例外は、他の Google Maps Platform サービスによって提供される POI または住所検索機能には適用されません。

エンドユーザーの住所を予測入力する

上の画像では、左側の住所リストには Google マップ コンテンツの制限が適用されます。エンドユーザーが選択した住所は、そのエンドユーザーの該当する取引の目的でのみ、Google マップ コンテンツの制限の対象外となります。

AI を活用した要約

プレイス、地域、クチコミの要約など、AI を活用した要約をアプリに表示する場合は、次のことを行う必要があります。

  • 以下で定義されている必須の帰属表示、報告リンク、参照リンクを 表示します。
  • エンドユーザーは、 Google マップで提供される要約テキストの全文を読めるようにする必要があります。

AI を活用した要約の開示テキストを表示する

AI を活用した要約を表示する場合は、必ず、ローカライズされた開示テキスト(レスポンス本文の disclosureText フィールドに記載)を要約の直下に含めてください。API によって提供される開示テキストを変更したり、追加したりしないでください。

AI を活用したすべての要約タイプに関する開示
図 1: 3 種類の AI を活用した要約のそれぞれの下に開示テキストが正しく表示されています。

プレイスと地域の要約に関する追加要件

アプリに表示されるプレイス地域 の要約には、次のテキストと必須リンクを含める必要があります。

テキスト 要件
この要約について 「Google がローカル リスティング情報を入手する方法と、それらの用途」へのリンク(https://support.google.com/local-listings/answer/9851099)を使用します。
要約を報告

レスポンスの flagContentUri フィールドに含まれるリンクを使用して、要約の内容に関する問題を Google に報告できるようにします。

注: Places API(New)を通じて提供される AI を活用した要約には、世界中どの地域でも Google のコンテンツとサービスのポリシーが適用されます。適用される法律に基づき、Google のサービスからの削除を希望するコンテンツを報告する場合は、提供されたフラグ コンテンツ URL(flagContentUri)を使用して報告する必要があることをエンドユーザーに通知する必要があります。

場所と地域の概要に関する開示
図 2: AI を活用した地域の要約が、オーバーフロー メニューを使用してエンドユーザーが利用できる必須の関連リンクとともに表示されています。

クチコミの要約の要件

アプリに表示される クチコミの要約には、「クチコミの 要約」というテキストを含む見出しを含める必要があります。また、次のテキストと必須リンクを使用する必要があります。

テキスト 要件
この要約について 「Google がローカル リスティング情報を入手する方法と、それらの用途」へのリンク(https://support.google.com/local-listings/answer/9851099)を使用します。
要約を報告

レスポンスの flagContentUri フィールドに含まれるリンクを使用します。

注: Places API(New)を通じて提供される AI を活用した要約には、世界中どの地域でも Google のコンテンツとサービスのポリシーが適用されます。適用される法律に基づき、Google のサービスからの削除を希望するコンテンツを報告する場合は、提供されたフラグ コンテンツ URL(flagContentUri)を使用して報告する必要があることをエンドユーザーに通知する必要があります。

クチコミを見る レスポンスの reviewSummary.reviewsUri フィールドに含まれるリンクを使用します。
レビューの概要に関する開示
図 3: AI を活用したクチコミの要約が、オーバーフロー メニューを使用してエンドユーザーが利用できる必須の関連リンクとともに表示されています。

自動車ユースケースの表示に関するガイダンス

運転者の安全のため、自動車エクスペリエンスでは、AI を活用した要約を駐車モードでレンダリングすることをおすすめします。運転モードで要約をレンダリングする場合は、運転者の注意がすぐに道路に戻るように、画面上の情報をシンプルでわかりやすく簡潔にする必要があります。

  • 3 行以内
  • 120 文字または 24 語以内
  • 最小フォントサイズ 24 dp

特に自動車のコンテキストでは、AI を活用した要約を安全で、現地のすべての法律や規制に準拠した方法でレンダリングする責任はデベロッパーにあります。