En esta guía, se destacan las diferencias clave entre el servicio de Places heredado y la nueva clase Place. Actualizar a la clase Place ofrece ventajas significativas, como un mejor rendimiento y un nuevo modelo de precios. Para aprovechar al máximo Places y asegurarte de que tus apps estén actualizadas, familiarízate con los cambios que se detallan en esta guía.
Prácticas recomendadas de facturación para la migración
Esta guía se aplica si el uso de la API es lo suficientemente alto como para pasar a los precios de segundo nivel. Cuando migras a una versión más reciente de una API, también se te factura un SKU diferente. Para evitar aumentos en los costos durante el mes de tu transición, te recomendamos que cambies a las nuevas APIs en producción lo más cerca posible del comienzo del mes. Esto garantizará que alcances los niveles de precios mensuales más rentables durante el mes de la migración. Para obtener información sobre los niveles de precios, consulta la página de precios y las preguntas frecuentes sobre precios.
Habilita la API de Places
La clase Place depende del servicio de la API de Places. Para usar las funciones de la nueva clase Place, primero debes habilitar la API de Places (nueva) en tu proyecto de Google Cloud. Para obtener más información, consulta Cómo comenzar.
Cambios generales
En la siguiente tabla, se enumeran algunas de las principales diferencias entre PlacesService
y Place
:
PlacesService (heredado) |
Place (Nuevo) |
---|---|
Los métodos requieren el uso de una devolución de llamada para controlar el objeto de resultados y la respuesta de google.maps.places.PlacesServiceStatus . |
Usa promesas y funciona de forma asíncrona. |
Los métodos requieren una verificación de PlacesServiceStatus . |
No se requiere una verificación de estado. Se puede usar el control de errores estándar. |
Los campos de datos de lugar tienen el formato snake case. | Los campos de datos de lugar se formatean con camel case. |
Se limita a un conjunto fijo de tipos de lugares y campos de datos de lugares. | Proporciona una selección ampliada de tipos de lugares y campos de datos de lugares que se actualizan con regularidad. |
Cambios específicos de la API
La clase Place proporciona una API para usar la biblioteca de Places y admite patrones de uso modernos, como las promesas. La clase Place expone los mismos campos de datos de lugar y tipos de lugar que el servicio Places heredado, y también incluye muchos valores nuevos para los campos de datos de lugar y los tipos de lugar.
En esta tabla, se muestra cómo se asignan las funciones del servicio de Places a las de la clase Place:
Carga la biblioteca de Places
La forma en que tu app carga la biblioteca de Places depende del cargador de arranque que se esté usando. Si tu app usa la importación de bibliotecas dinámicas, puedes cargar las bibliotecas necesarias en el tiempo de ejecución con el operador await
para llamar a importLibrary()
, como se muestra aquí:
const { Place } = await google.maps.importLibrary("places");
Si tu app usa la etiqueta de carga de secuencia de comandos directa, solicita la biblioteca places
en la secuencia de comandos del cargador:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>
Obtén más información para cargar la API de Maps JavaScript.
En esta sección, se incluyen las siguientes guías para ayudarte a migrar tus apps y usar la versión más reciente de la API de Places:
- Migra a Place Details
- Migra a Text Search (nuevo)
- Migra a la Búsqueda cercana (nuevo)
- Migrate to Place Photos
- Migra a las opiniones sobre lugares
- Migra a Place Autocomplete