Esegui la migrazione a Place Details (novità)

Places SDK for Android supporta i Dettagli dei luoghi esistenti. Se conosci l'attuale SDK Places for Android, la nuova versione di Dettagli dei luoghi apporta le seguenti modifiche:

  • Utilizza un nuovo modello di prezzi. Per informazioni sui prezzi di tutte le API, consulta Places SDK for Android (Nuovo).

  • Devi inizializzare l'app chiamando il metodo Places.initializeWithNewPlacesApiEnabled(). Per ulteriori informazioni sulla selezione del servizio API Places, consulta Configurare il progetto Google Cloud.

  • La maschera dei campi è obbligatoria. Devi specificare i campi che vuoi che vengano restituiti nella risposta. Non esiste un elenco predefinito dei campi restituiti. Se ometti questo elenco, i metodi restituiscono un errore.

Le sezioni seguenti descrivono ulteriori modifiche.

Accedere a nuovi tipi di luoghi

A ogni luogo possono essere associati uno o più valori type. La versione 3.3.0 e successive di Places SDK for Android aggiunge molti nuovi valori di tipo. Per l'elenco completo, consulta Tipi di luoghi.

Il metodo Place.getPlaceTypes() restituisce i valori di tipo come elenco di valori di stringa. I valori restituiti dipendono dalla versione di Places SDK for Android:

  • Places SDK for Android (novità): restituisce le stringhe definite dalle tabelle A e B mostrate in Tipi di luoghi (novità), inclusi tutti i tipi di luoghi aggiunti nella versione 3.3.0.

  • Places SDK for Android: restituisce gli enum definiti da Place.Types, che non include i nuovi tipi aggiunti nella versione 3.3.0 e successive.

Accedere alle recensioni dei luoghi

La nuova versione di Places SDK for Android aggiunge la classe Review che contiene una recensione di un luogo. L'oggetto Place può contenere fino a cinque recensioni.

La classe Review può contenere anche un'attribuzione e un'attribuzione dell'autore. Se la mostri nella tua app, devi mostrare anche eventuali attribuzioni o l'attribuzione dell'autore. Per ulteriori informazioni, vedi Visualizzare una recensione.

Per saperne di più, consulta la documentazione sulle attribuzioni.

Accedere al codice lingua del nome del luogo

Il metodo Place.getName() esistente restituisce una stringa di testo contenente il nome di un luogo. Per compilare l'oggetto Place con il nome del luogo, devi includere Place nell'elenco dei campi della richiesta dei dettagli del luogo.Place.Field.DISPLAY_NAME

L'oggetto Place ora contiene il codice lingua per la stringa del nome. Per compilare l'oggetto Place con il codice lingua, devi:

  1. Includi Place.Field.DISPLAY_NAME nell'elenco dei campi della richiesta. Questo valore configura la risposta in modo da includere sia il nome del luogo sia il codice lingua nell'oggetto Place.

  2. Chiama PlacesClient.fetchPlace(). PlacesClient.findCurrentPlace() non supporta il campo del codice lingua.

  3. Utilizza il metodo Place.getNameLanguageCode() per accedere al campo del codice lingua nell'oggetto Place.

Imposta il codice regione

L'SDK Places per Android (nuovo) aggiunge il parametro di richiesta del codice regione a Place Details. Il codice regione viene utilizzato per formattare la risposta, specificato come valore di codice CLDR di due caratteri. Questo parametro può anche avere un effetto di bias sui risultati di ricerca. Non è previsto alcun valore predefinito. Devi attivare il nuovo SDK per impostare il codice regione.

Se il nome del paese del campo indirizzo nella risposta corrisponde al codice regione, il codice paese viene omesso dall'indirizzo.

La maggior parte dei codici CLDR è identica ai codici ISO 3166-1, con alcune eccezioni notevoli. Ad esempio, il TLD di primo livello del Regno Unito è "uk " (.co.uk), mentre il codice ISO 3166-1 è"gb " (tecnicamente per l'entità "Regno Unito di Gran Bretagna e Irlanda del Nord"). Il parametro può influire sui risultati in base alla legge vigente.

Richiesta di esempio

Per un esempio completo, vedi Dettagli sul luogo (novità).