このドキュメントでは、Places SDK for iOS(その API の一部である Place Autocomplete サービスを含む)を使って開発されるすべてのアプリケーション に固有の要件について説明します。Google マップ デベロッパー向けの一般的な情報については、 Google Maps Platform の利用規約をご覧ください。
ポリシー
このセクションでは、Places SDK for iOS に関連するポリシーについて説明します。ポリシーは、サービスを正しく使用し、Google Maps Platform の期待に沿って使用するための実践的な 実装ガイドラインと要件を提供します。
キャッシュ保存の制限の例外
プレイスを一意に識別するために使用されるプレイス ID は、キャッシング制限の適用対象外 のため、キャッシング制限無期限で保存できます。
プレイス ID は、place_id フィールドで
API レスポンスで返されます。プレイス ID を保存、更新、管理する方法については、プレイス ID のガイドをご覧ください。
欧州経済領域の国と地域
請求先住所が 欧州経済領域(EEA)にあるお客様の場合、このプロダクトの利用規約が異なり、機能も異なる場合があります。 Google Maps Platform を使用して構築する前に、EEA 固有の次の 規約と情報をご確認ください。
- Google Maps Platform EEA の利用規約
- Google Maps Platform EEA サービス固有の規約
- EEA に関するよくある質問(FAQ)
- Google Maps Platform の道路安全要件
請求先住所が EEA にない場合は、次の利用規約が適用されます。
Google マップの帰属表示の要件
このセクションでは、アプリケーションを通じて Google マップとコンテンツを表示するための帰属表示の要件とガイドラインについて説明します。
アトリビューションの例
Places UI キットの帰属表示の例を次に示します。
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 マップのロゴのサイズ仕様は次のとおりです。- ロゴの最小高さ: 16 dp
- ロゴの最大高さ: 19 dp
- ロゴのクリア スペースの最小値: 左、右、上は 10 dp、下は 5 dp
dp について詳しくは、マテリアル デザインのウェブサイトのピクセル密度をご覧ください。
ロゴのアクセシビリティ
Google マップのロゴのアクセシビリティに関する要件は次のとおりです。- ロゴと背景のコントラストをアクセシビリティの高い状態に維持します。
- 「Google マップ 」というテキストを含むアクセシビリティ ラベルを追加します。
テキスト属性
インターフェースのサイズが Google マップのロゴの使用をサポートしていない場合は、「Google マップ 」というテキストを使用できます。次のガイドラインに沿ってください。
- 「Google マップ 」というテキストは一切変更しないでください。
- Google マップ の文字の大小は変更しないでください。
- Google マップ を複数行に折り返さないでください。
- Google マップ を他の言語にローカライズしないでください。
- HTML 属性
translate="no"を使用して、ブラウザが 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 以外のプロバイダから提供されているものがあります。 Map Tiles API などの一部のプロダクトでは、サードパーティのデータ プロバイダに必要な帰属表示 が提供される場合があります。その場合、帰属情報の文言には 「Google マップ」の名称と関連する データ プロバイダ名(「地図データ: Google, Maxar Technologies」など)を記載する必要があります。Google がサードパーティの帰属表示を提供する場合、「Google マップ」または Google ロゴのみを表示しただけでは帰属表示として適切ではありません。
その他の帰属表示要件
サードパーティ プロバイダへの帰属表示には、提供された形式でユーザーに表示する必要があるコンテンツとリンクが含まれています。アプリでは、この情報をプレイスの詳細の下に表示することをおすすめします。
API から返されるサードパーティの帰属表示には、Google の帰属表示は含まれていません 。Google のロゴと帰属表示を表示するの説明に従って、この帰属表示を自分で追加する必要があります。
単一のプレイスまたは複数のプレイスのサードパーティの帰属表示を取得する手順は次のとおりです。
単一のプレイスの帰属表示を取得する
ID でプレイスを取得してプレイスを取得する
場合は、そのプレイスの帰属表示を
attributions プロパティから
GMSPlace取得できます。
attributions は
NSAttributedString オブジェクトとして提供されます。
複数のプレイスの帰属表示を取得する
デバイスの現在のプレイスをリクエストして取得した情報をアプリに表示する場合は、表示されるプレイスの詳細に関するサードパーティの帰属表示をアプリに表示する必要があります。リクエストで取得したすべてのプレイスの帰属表示は、
GMSPlaceLikelihoodList の
attributions プロパティから取得できます。
attributions は
NSAttributedString オブジェクトとして提供されます。これは、前述の
上記のように、単一のプレイスの attributions と同じ方法でアクセスして表示できます。
検索結果の属性
欧州において Google 独自のランキング システムを使用する場合は、検索サービスに説明テキストを表示して、検索結果のランキングを決める主な要素とそれらの重み付けが、直接または 1 クリックで表示されるようにする必要があります。説明テキスト:
見出し: 検索結果について
本文: Google マップで指定した場所の付近の店舗などを検索すると、ローカル検索の結果が表示されます。検索結果の精度を高めるため、ローカル検索の結果は複数の要素(主に関連性、距離、知名度)に基づいて生成されます。
ボタン 1: 詳細 __
「詳細」テキストは、ヘルプセンターの記事にリンクさせます。
ボタン 2: OK
写真の帰属を表示する
アプリに
写真を表示する場合は、
写真に attributions と authorAttributions がある場合は、それらを表示する必要があります。
- 帰属表示にアクセスするには、
GMSPlacePhotoMetadata.attributionsを使用します。 このプロパティはNSAttributedStringです。表示する帰属表示がない場合はnilになります。 - 投稿者の帰属表示にアクセスするには、
GMSPlacePhotoMetadata.authorAttributionsを使用します。 このプロパティには、GMSPlaceAuthorAttributionオブジェクトの配列が含まれます。
Swift
GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in if let error = error { // TODO: handle the error. print("Error: \(error.description)") } else { // Get attribution for the first photo in the list. if let photo = photos?.results.first { let attributions = photo.attributions } } }
Objective-C
[[GMSPlacesClient sharedClient] lookUpPhotosForPlaceID:placeID callback:^(GMSPlacePhotoMetadataList *_Nullable photos, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get attribution for the first photo in the list. if (photos.results.count > 0) { GMSPlacePhotoMetadata *photo = photos.results.firstObject; NSAttributedString *attributions = photo.attributions; } } }];
クチコミを表示する
GMSPlace オブジェクトには最大 5 つのクチコミを含めることができ、各
クチコミは GMSPlaceReview オブジェクトで表されます。アプリでのクチコミ表示は省略可です。
Google ユーザーが投稿したクチコミを表示する場合は、投稿者の名前を近くに配置する必要があります。GMSPlaceReview オブジェクトの投稿者帰属フィールドから取得できる場合は、投稿者の写真とプロフィールへのリンクも含めることをおすすめします。次の図は、公園のクチコミの例を示しています。

また、クチコミの並べ替え方法をエンドユーザーに表示することをおすすめします。
クチコミにアクセスする手順は次のとおりです。
Swift
// Define a Place ID. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let myProperties: [GMSPlaceProperty] = [.name, .website, .reviews] // Create the GMSFetchPlaceRequest object. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { let firstReview: GMSPlaceReview = place.reviews![0] // Use firstReview to access review text, authorAttribution, and other fields. } })
Objective-C
// Define a Place ID. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return, including reviews. NSArray<GMSPlaceProperty *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite,GMSPlacePropertyReviews]; GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error) { // TODO: handle the error. NSLog(@"Error: %@", [error description]); } else { // Get first review. GMSPlaceReview *firstReview = [place reviews][0]; // Use firstReview to access review text, authorAttribution, and other fields. } }];
サードパーティの帰属表示を表示する
サードパーティ プロバイダへの帰属表示は、ユーザーに保持して表示する必要があるコンテンツとリンクを含む NSAttributedString オブジェクトとして
提供されます。
帰属表示のリンクは機能する必要があるため、帰属表示は UITextView で表示することをおすすめします。
リンクが機能するようにするには、UITextView にデリゲートを設定し、UITextViewDelegate の shouldInteractWithURL
メソッドが YES を返すように設定します。
Swift
... self.attributionTextView.delegate = self ... // MARK: - UITextViewDelegate func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool { // Make links clickable. return true }
Objective-C
... self.attributionTextView.delegate = self; ... #pragma mark - UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)url inRange:(NSRange)characterRange { // Make links clickable. return YES; }
サードパーティ属性の例
通常、サードパーティの帰属表示はリンク付きのテキストで構成されます。次に例を示します。
Example Company によるリスティング
上記の例では、「Example Company」のテキスト範囲は
NSLink 属性でカバーされています。
エンドユーザーの住所の予測入力
エンドユーザーが顧客アプリケーション内で予測入力機能を使用して番地を入力し、その番地が予測入力なしでエンドユーザーによって完全かつ正確に提供された場合、エンドユーザーが選択した住所には Google Maps Platform 契約の Google マップ コンテンツの制限は適用されません。この例外は、エンドユーザーが選択した番地と、 そのエンドユーザーの特定の取引にのみ適用されます。予測入力機能によって提供される候補の住所リスト や、その他の Google マップ コンテンツには適用されません。この例外は、他の Google Maps Platform サービスによって提供される POI または住所検索機能には適用されません。

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