Importante: El plan Premium de Google Maps Platform ya no está disponible para registros o clientes nuevos.
Descripción general
Si tu aplicación excede los límites de uso de un servicio web de Google Maps Platform, el servicio muestra un mensaje de error. Si tu aplicación sigue excediendo los límites de uso, podría experimentar un bloqueo de acceso al servicio web y, en algunos casos, recibir respuestas “403 Forbidden”.
Si las solicitudes de servicio web de tu aplicación reciben mensajes de error, puedes optimizarla para que utilice los servicios web de forma más eficiente y, así, reducir el uso.
Antes de comenzar
Antes de optimizar el uso de los servicios web que hace tu aplicación, comprueba que estés usando el servicio correcto para tu caso de uso y la licencia adecuada para las APIs de Google Maps.
Valida tu caso de uso
Los servicios web de Google Maps Platform son mejores para las aplicaciones que no requieren entradas en tiempo real de los usuarios o cuando no se usa un navegador web. Por ejemplo, deberías usar servicios web si tu usa un conjunto de datos que es independiente de la entrada del usuario, por ejemplo, un conjunto de direcciones en un sitio web de bienes raíces que se deben geocodificar.
Ten en cuenta que con los servicios web, el límite de consultas por minuto (QPM) se aplica a tus licencia del plan Premium, sin importar cuántas direcciones IP desde donde se envían las solicitudes.
Por otro lado, los servicios del cliente disponibles con la API de Maps JavaScript tienen un límite de frecuencia por sesión de navegador. Por ello, las solicitudes se distribuyen entre todos los usuarios y aumentan a medida que crece el número de usuarios. Por lo tanto, los servicios del cliente son ideales para aplicaciones que geocodifican en tiempo real las direcciones que ingresan los usuarios, como el localizador de tiendas que busca tiendas cerca de la dirección particular de un usuario.
Para obtener una explicación más detallada sobre cuándo usar los servicios web, consulta Estrategias de geocodificación. En este documento, se brindan recomendaciones que, aunque se relacionan específicamente con la geocodificación, se aplican a todos los servicios web; en él se explica cuándo deberías usar los servicios web del servidor y cuándo sus equivalentes del cliente.
Cómo optimizar el uso de los servicios web
Para usar los servicios web de forma más eficiente y reducir el uso, puedes enviar solicitudes solo cuando sea necesario y repartir el uso equitativamente para mantenerlo debajo de los límites.
Resultados almacenados en caché
En los artículos 3.2.3.a y b de las Condiciones del Servicio de Google Maps Platform, se establece que no debes realizar una búsqueda previa, almacenar, indexar o almacenar en caché ningún contenido, excepto en las circunstancias limitadas que se indican en las Condiciones.
Ten en cuenta que el ID del lugar, que se usa para identificar un lugar de forma unívoca, está exento de la restricción de almacenamiento en caché. Por lo tanto, puedes almacenar valores del ID del lugar de manera indefinida.
Limitación de solicitudes
Para no superar los límites de uso, puedes configurar tu aplicación para limitar las solicitudes colocándolas en una cola y haciendo un seguimiento de cuándo se envía cada una. Si tu aplicación recibe una solicitud adicional que excede el límite de QPM, ajusta el ritmo de tus consultas. En tu código, agrega un período de espera de **`S`** segundos entre las consultas. Si la consulta aún genera un error de cuota, duplica ese período y, luego, envía otra consulta. Sigue ajustando el período de espera hasta que la consulta se muestre sin errores.
Incluso con la limitación, igualmente es posible que las aplicaciones reciban respuestas con el código de estado OVER_QUERY_LIMIT
. Configura tu aplicación para que inserte una pequeña demora (20 ms) y vuelva a intentarlo si recibe esa respuesta.