El SDK de Places para Android admite los detalles de lugares existentes. Si conoces el SDK de Places existente para Android, la nueva versión de Place Details realiza los siguientes cambios:
Usa un nuevo modelo de precios. Para obtener información sobre los precios de todas las APIs, consulta el SDK de Places para Android (nuevo).
Debes inicializar tu app llamando al método
Places.initializeWithNewPlacesApiEnabled()
. Para obtener más información sobre cómo seleccionar el servicio de la API de Places, consulta Configura tu proyecto de Google Cloud.Se requiere el enmascaramiento de campos. Debes especificar qué campos deseas que se muestren en la respuesta. No hay una lista predeterminada de campos que se muestran. Si omites esta lista, los métodos mostrarán un error.
En las siguientes secciones, se describen los cambios adicionales.
Accede a nuevos tipos de lugares
Cada lugar puede tener uno o más valores de type asociados. El SDK de Places para Android versión 3.3.0 y versiones posteriores agrega muchos valores de tipo nuevos. Para obtener la lista completa, consulta Tipos de lugares expandidos.
El método Place.getPlaceTypes()
muestra los valores de tipo como una lista de valores de cadena. Los valores que se muestran dependen de la versión del SDK de Places para Android:
SDK de Places para Android (nuevo): Muestra las cadenas definidas en las tablas A y B que se muestran en Tipos de lugares (nuevos), incluidos todos los tipos de lugares agregados en la versión 3.3.0.
SDK de Places para Android: Muestra las enums definidas por
Place.Types
, que no incluye los tipos nuevos agregados en la versión 3.3.0 y versiones posteriores.
Accede a las opiniones de lugares
El SDK de Places para Android (nuevo) agrega la clase Review
, que contiene una opinión sobre un lugar. El objeto Place
puede contener hasta cinco opiniones.
La clase Review
también puede contener una atribución y una atribución de autor. Si
muestras la opinión en tu app, también debes mostrar cualquier atribución
o atribución del autor. Para obtener más información, consulta Cómo mostrar una opinión.
Para obtener más información, consulta la documentación sobre las atribuciones.
Accede al código de idioma del nombre del lugar
El método Place.getName()
existente muestra una cadena de texto que contiene el nombre de un lugar. Para propagar el objeto Place
con el nombre del lugar, debes incluir Place.Field.DISPLAY_NAME
en la lista de campos de la solicitud de Place Details.
El objeto Place
ahora contiene el código de idioma de la cadena de nombre. Para
propagar el objeto Place
con el código de idioma, debes hacer lo siguiente:
Incluye el
Place.Field.DISPLAY_NAME
en la lista de campos de la solicitud. Este valor configura la respuesta para que incluya el nombre del lugar y el código de idioma en el objetoPlace
.Llama a
PlacesClient.fetchPlace()
.PlacesClient.findCurrentPlace()
no admite el campo de código de idioma.Usa el método
Place.getNameLanguageCode()
para acceder al campo de código de idioma en el objetoPlace
.
Cómo establecer el código de región
El SDK de Places para Android (nuevo) agrega el parámetro de solicitud de código de región a Place Details. El código de región se usa para dar formato a la respuesta, que se especifica como un valor de código CLDR de dos caracteres. Este parámetro también puede tener un efecto sesgado en los resultados de la búsqueda. No hay un valor predeterminado. Debes habilitar el nuevo SDK para establecer el código de región.
Si el nombre del país del campo de dirección en la respuesta coincide con el código de región, se omite el código de país de la dirección.
La mayoría de los códigos CLDR son idénticos a los códigos ISO 3166-1, con algunas excepciones notables. Por ejemplo, el ccTLD del Reino Unido es “uk” (.co.uk), mientras que su código ISO 3166-1 es “gb” (técnicamente para la entidad de “Reino Unido de Gran Bretaña e Irlanda del Norte”). El parámetro puede afectar los resultados según la ley aplicable.
Ejemplo de solicitud
Para ver un ejemplo completo, consulta Place Details (New).