Questo argomento fornisce i requisiti di attribuzione per tutte le applicazioni sviluppate con Places SDK for Android, incluso il servizio Place Autocomplete che fa parte di questa API. Per ulteriori termini di Google Maps Platform, consulta i Termini di servizio di Google Maps Platform.
Norme
Questa sezione descrive le norme pertinenti a Places SDK for Android. Le norme forniscono linee guida e requisiti pratici per l'implementazione che ti aiutano a utilizzare il Servizio correttamente e in linea con le aspettative di Google Maps Platform.
Eccezioni alle limitazioni della memorizzazione nella cache
Tieni presente che l' ID luogo, utilizzato per identificare in modo univoco un luogo, è
esente dalle limitazioni della memorizzazione nella cache.
Pertanto, puoi archiviare i valori dell'ID luogo a tempo indeterminato.
L'ID luogo viene restituito nel campo place_id nelle risposte dell'API. Scopri come salvare, aggiornare e gestire gli ID luogo nella guida ID luogo.
Paesi e regioni dello Spazio economico europeo
Questo prodotto ha Termini di servizio diversi per i clienti con indirizzo di fatturazione nello Spazio economico europeo (SEE) e potrebbe anche avere funzionalità diverse. Prima di creare con Google Maps Platform, esamina i seguenti termini e informazioni specifici per il SEE:
- Termini di servizio di Google Maps Platform per il SEE
- Termini di servizio specifici per Google Maps Platform per il SEE
- Domande frequenti sul SEE
- Requisiti di sicurezza stradale di Google Maps Platform
Se il tuo indirizzo di fatturazione non si trova nel SEE, si applicano i seguenti Termini di servizio:
Requisiti di attribuzione di Google Maps
Questa sezione fornisce i requisiti e le linee guida per l'attribuzione per la visualizzazione di Google Maps e dei contenuti tramite le tue applicazioni.
Esempio di attribuzione
Di seguito è riportato un esempio di attribuzione per Places UI Kit.
Visualizzare l'attribuzione di Google Maps
Quando visualizzi i contenuti delle API Google Maps Platform nella tua app o nel tuo sito web, devi rispettare i requisiti di attribuzione di Google Maps. Non è necessario aggiungere un'attribuzione aggiuntiva se i contenuti vengono mostrati su una mappa di Google in cui l'attribuzione è già visibile.
Attribuzione di Google Maps inclusa
Per l'attribuzione di Google Maps già fornita da Google Maps Platform nell' interfaccia utente, ad esempio in Places UI Kit:
- Non rimuovere l'attribuzione inclusa, indipendentemente da dove viene visualizzata. Non modificare, nascondere, o oscurare l'attribuzione e assicurati che sia chiaramente visibile sullo sfondo.
- Distingui sempre visivamente i contenuti di Google Maps Platform dagli altri contenuti utilizzando indicatori dell'interfaccia utente come un bordo, un colore di sfondo, un'ombra o uno spazio vuoto sufficiente.
- Quando apporti modifiche visive, devi rispettare tutti i requisiti di attribuzione di Google Maps.
Attribuzione di testo e logo di Google Maps
L'attribuzione dovrebbe assumere la forma del logo di Google Maps, se possibile. Nei casi in cui lo spazio è limitato, il testo Google Maps è accettabile. Gli utenti finali devono sempre sapere chiaramente quali contenuti sono forniti da Google Maps.
Attribuzione del logo
Segui questi requisiti per utilizzare il logo di Google Maps nella tua app o nel tuo sito web.Scaricare i loghi di Google Maps
Utilizza i file del logo ufficiale di Google Maps. Scarica i loghi di seguito e segui le linee guida riportate in questa sezione.
Scarica gli asset di attribuzione di Google MapsQuando utilizzi il logo di Google Maps, segui queste linee guida.
- Non modificare il logo in alcun modo.
- Mantieni le proporzioni del logo per evitare distorsioni.
- Utilizza il logo con contorno su uno sfondo occupato, ad esempio una mappa o un'immagine.
- Utilizza il logo senza contorno su uno sfondo semplice, ad esempio un colore a tinta unita o una sfumatura sottile.
Specifiche delle dimensioni del logo
Segui queste specifiche delle dimensioni per il logo di Google Maps:- Altezza minima del logo: 16 dp
- Altezza massima del logo: 19 dp
- Spazio vuoto minimo del logo: 10 dp a sinistra, a destra e in alto, 5 dp in basso
Per scoprire di più sui dp, consulta Densità di pixel sul sito web di Material Design.
Accessibilità del logo
Segui questi requisiti di accessibilità per il logo di Google Maps:- Mantieni un contrasto accessibile tra il logo e lo sfondo.
- Includi un'etichetta di accessibilità con il testo Google Maps.
Attribuzione del testo
Se le dimensioni dell'interfaccia non supportano l'utilizzo del logo di Google Maps, puoi scrivere Google Maps nel testo. Segui queste linee guida:
- Non modificare in alcun modo il testo Google Maps:
- Non modificare le maiuscole/minuscole di Google Maps
- Non mandare a capo Google Maps su più righe
- Non localizzare Google Maps in un'altra lingua.
- Impedisci ai browser di tradurre Google Maps utilizzando l'attributo HTML
translate="no".
Applica lo stile al testo di Google Maps come descritto nella tabella seguente:
Requisiti di stile del testo di Google Maps Proprietà Stile Famiglia di caratteri Roboto. Il caricamento del carattere è facoltativo. Famiglia di caratteri di riserva Qualsiasi carattere del corpo sans-serif già utilizzato nel tuo prodotto o "Sans-Serif" per richiamare il carattere di sistema predefinito Stile carattere Normale Spessore carattere 400 Colore carattere Bianco, nero (#1F1F1F) o grigio (#5E5E5E). Mantieni un contrasto accessibile (4,5:1) rispetto allo sfondo. Dimensione carattere Dimensione carattere minima: 12 sp
Dimensione carattere massima: 16 sp
Per scoprire di più sugli sp, consulta Unità di dimensione carattere sul sito web di Material Design.Spaziatura tra le lettere Normale
CSS di esempio
Il seguente CSS esegue il rendering di Google Maps con lo stile tipografico e il colore appropriati su uno sfondo bianco o chiaro.
@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; }
Requisiti visivi
Segui questi requisiti per il trattamento visivo dell'attribuzione di Google Maps.Posiziona l'attribuzione vicino alla parte superiore o inferiore dei contenuti e all'interno dello stesso contenitore visivo. Per una singola riga di contenuti, l'attribuzione può essere posizionata a destra o a sinistra.
Distingui visivamente i contenuti di Google Maps Platform dagli altri contenuti utilizzando indicatori dell'interfaccia utente come un bordo, un colore di sfondo, un'ombra o uno spazio vuoto sufficiente.
- Non travisare Google Maps attribuendolo a contenuti non di Google Maps Platform.
- Verifica che l'attribuzione sia sempre visibile e leggibile. Non rimuoverla, nasconderla, oscurarla o modificarla mai.
Le seguenti immagini mostrano esempi di questi requisiti visivi.
Fornitori di dati di terze parti
Alcuni dei dati e delle immagini dei nostri prodotti di mappatura provengono da fornitori diversi da Google. Per alcuni prodotti, come l'API Map Tiles, potremmo fornirti l'attribuzione obbligatoria al fornitore di dati di terze parti. In questo caso, il testo della tua attribuzione deve indicare il nome "Google Maps" e i fornitori di dati pertinenti, ad esempio "Dati della mappa: Google, Maxar Technologies." Quando Google fornisce l'attribuzione di terze parti, l'inclusione di solo "Google Maps" o del logo Google non è un'attribuzione corretta.
Altri requisiti di attribuzione
Segui queste istruzioni per recuperare le attribuzioni di terze parti e visualizzarle nella tua app.
Recuperare le attribuzioni da un luogo
Se la tua app mostra informazioni ottenute chiamando get place by ID, deve mostrare anche le attribuzioni di terze parti per i dettagli del luogo ottenuti.
L'API restituisce un
Place
oggetto. Per recuperare le attribuzioni dall'oggetto Place, chiama
Place.getAttributions().
Il metodo restituisce un List di oggetti String o null se non sono presenti attribuzioni da visualizzare.
String placeId = "INSERT_PLACE_ID_HERE"; List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME); FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); textView.append("Place found: " + place.getName()); List<String> attributions = place.getAttributions(); if (attributions != null) { StringBuilder stringBuilder = new StringBuilder("Attributions: "); for (String attribution : attributions) { stringBuilder.append(attribution).append("\n"); } textView.append(stringBuilder.toString()); }}).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } } );
Visualizzare le attribuzioni per una foto
Se la tua app mostra le foto dei luoghi, devi mostrare le attribuzioni per ogni foto che le contiene.
PhotoMetadatapuò contenere uno dei due tipi di attribuzioni:
- Attribuzioni, una stringa di attribuzione a cui si accede tramite
PhotoMetadata.getAttributions(). - AuthorAttributions, un oggetto
AuthorAttributionsa cui si accede tramitePhotoMetadata.getAuthorAttributions().
Per ottenere le attribuzioni di stringhe per una foto, chiama PhotoMetadata.getAttributions(). Il metodo restituisce una sequenza di caratteri HTML o una stringa vuota se non sono presenti attribuzioni da visualizzare.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the attribution text. String attributions = photoMetadata.getAttributions();
Per ottenere le attribuzioni dell'autore per una foto, chiama PhotoMetadata.getAuthorAttributions(). Il metodo restituisce un oggetto AuthorAttributions. Questo oggetto contiene un List
di AuthorAttribution
oggetti, uno per ogni attribuzione dell'autore.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the author attributions object. AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions(); List<AuthorAttribution> authorAttributionList = authorAttributions.asList();
Attribuzioni dei risultati di ricerca
In Europa, quando si utilizza il ranking non modificato di Google, i prodotti di ricerca devono avere un testo esplicativo a non più di un clic di distanza che descriva i fattori principali e la ponderazione dei fattori principali che determinano il ranking dei risultati di ricerca. Testo esplicativo:
Intestazione: Informazioni su questi risultati
Corpo: Quando cerchi attività o luoghi vicino a una località, Google Maps ti mostrerà i risultati locali. Diversi fattori, principalmente pertinenza, distanza e importanza, vengono combinati per aiutarti a trovare i risultati migliori per la tua ricerca.
Pulsante 1: Scopri di più
"Scopri di più" testo deve rimandare a un articolo del Centro assistenza.
Pulsante 2: OK
Visualizzare una recensione
Un oggetto Place può contenere fino a cinque recensioni, ognuna rappresentata da un
Review
oggetto. Puoi anche visualizzare queste recensioni nella tua app.
Quando visualizzi le recensioni inviate dagli utenti Google, devi posizionare il nome dell'autore nelle vicinanze. Quando disponibile nel campo di attribuzione dell'autore dell'oggetto Review, ti consigliamo di includere anche la foto dell'autore e il link al suo profilo. L'immagine seguente mostra un esempio di recensione di un parco:

Google consiglia inoltre di mostrare all'utente finale come vengono ordinate le recensioni.
Per accedere alle recensioni, chiama
Place.getReviews():
// Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); List<Review> reviews = place.getReviews(); // For loop for iterating over the List for (int i = 0; i < reviews.size(); i++) { // For each review, get the Review object. Review placeReview = reviews.get(i); // Get any attribution and author attribution. String reviewAttribution = placeReview.getAttribution(); AuthorAttribution authorAttribution = placeReview.getAuthorAttribution(); // Display the review contents and attributions as necessary. } }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } });
Visualizzare le attribuzioni di terze parti
Le attribuzioni ai fornitori di terze parti contengono contenuti e link in formato HTML che devi conservare e mostrare all'utente nel formato in cui vengono forniti. Google consiglia di mostrare queste informazioni sotto i dettagli del luogo.
L'API genera attribuzioni per tutti i luoghi utilizzati dall'app. Le attribuzioni vengono fornite per chiamata API, non per luogo.
Un modo per visualizzare le attribuzioni è utilizzare un
TextView.
Ad esempio:
TextView attributionsText = (TextView) findViewById(R.id.attributions); String thirdPartyAttributions = place.getAttributions(); attributionsText.setText(thirdPartyAttributions);
Esempio di attribuzione di terze parti
Listings by <a href="https://www.example.com/">Example Company</a>
Completamento automatico per gli indirizzi degli utenti finali
Quando un utente finale utilizza la funzionalità di completamento automatico all'interno della tua applicazione cliente per digitare un indirizzo stradale e questo indirizzo stradale sarebbe stato fornito in modo completo e accurato dall'utente finale senza il completamento automatico, l'indirizzo selezionato dall'utente finale non è quindi soggetto alle limitazioni dei contenuti di Google Maps nel tuo contratto di Google Maps Platform. Questa eccezione si applica solo all'indirizzo stradale selezionato dall'utente finale e solo per la transazione specifica dell'utente finale; non si applica all'elenco di indirizzi suggeriti forniti dalla funzionalità di completamento automatico o ad altri contenuti di Google Maps. Questa eccezione non si applica a nessuna funzionalità di ricerca di indirizzi o PDI offerta da altri servizi Google Maps Platform.

Nell'immagine precedente, l'elenco degli indirizzi a sinistra è ancora soggetto alle limitazioni dei contenuti di Google Maps. Una volta che l'utente finale seleziona l'indirizzo scelto, questo indirizzo non è soggetto alle limitazioni dei contenuti di Google Maps esclusivamente ai fini della transazione applicabile dell'utente finale.