google maps - longitude - Api de geocodificación sobre el límite de consulta
google maps geocoding api usage limits (6)
Así es como he manejado este problema en el pasado. Compruebo el estado del resultado y, si lo consigo, supero el límite de error. Lo intento de nuevo después de un ligero retraso.
function Geocode(address) {
geocoder.geocode({
''address'': address
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0].geometry.location;
var marker = new google.maps.Marker({
position: result,
map: map
});
} else if (status === google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
setTimeout(function() {
Geocode(address);
}, 200);
} else {
alert("Geocode was not successful for the following reason:"
+ status);
}
});
}
Actualización: whoops, accidentalmente glosado sobre la parte del servidor. Aquí hay una versión de C #:
public XElement GetGeocodingSearchResults(string address)
{
var url = String.Format(
"https://maps.google.com/maps/api/geocode/xml?address={0}&sensor=false",
Uri.EscapeDataString(address));
var results = XElement.Load(url);
// Check the status
var status = results.Element("status").Value;
if(status == "OVER_QUERY_LIMIT")
{
Thread.Sleep(200);
GetGeocodingSearchResults(address);
}else if(status != "OK" && status != "ZERO_RESULTS")
{
// Whoops, something else was wrong with the request...
}
return results;
}
Estoy usando la API de geocodificación en el servidor para traducir direcciones en latlng. Me enfrenté a un estado OVER_QUERY_LIMIT aunque: - el servidor no excedió la limitación de 2500 (solo unas pocas solicitudes en este día) - no hizo muchas solicitudes simultáneamente (solo una solicitud por vez)
Cómo es eso posible ? Al día siguiente, la geocodificación funcionaba bien, pero me preocupa que mi aplicación funcione correctamente a largo plazo.
Gracias por adelantado.
Google también devuelve esta misma respuesta si no se encontraron coincidencias de direcciones . No necesariamente significa que has excedido la cuota. En cualquier caso, será mejor que atrape la excepción y ponga en práctica un rescate a su alrededor.
Google, Bing, MapQuest y Yahoo! Los mapas (¿esta API todavía está cerca?) Son herramientas extremadamente potentes. Tienen una gran cantidad de caballos de fuerza que ponen detrás de la interpretación de la dirección que proporcionas y hacen todo lo posible para convertirla en una dirección con el formato correcto para la geocodificación. Hasta cierto punto son libres. Tienen límites de volumen y términos de servicio (TOS) bastante estrictos que podrían ser un factor si comienzas a usar su servicio comercialmente y especialmente si lo integras en otro producto.
Tenga en cuenta que todos ellos hacen "aproximación de direcciones" NO verificación de direcciones. Podrán decirle aproximadamente dónde se encontraría una dirección en una determinada calle SI la dirección existe. No pueden decirle que la dirección que está buscando existe. Una forma de verificar esto es mirar su propia dirección en Google Maps. Acércate a la vista de la calle y verás que dicen que "la dirección es aproximada", aunque es posible que tengan la ubicación exacta. Simplemente no tienen la lista maestra de direcciones para comparar y saber qué direcciones son reales. Para eso, necesitarás algún tipo de verificación de dirección.
La verificación de direcciones estandariza y limpia una dirección determinada de forma muy similar a los servicios de mapas gratuitos, pero también compara las direcciones con la base de datos de entrega de direcciones de USPS para confirmar si realmente existe la dirección. La dirección confirmada se puede geocodificar con una precisión mejorada.
Hay muchos buenos servicios de verificación de direcciones. En aras de una divulgación completa, soy el fundador de one-- SmartyStreets .
Mismo problema que user276648 aquí. Lo resolvió agregando la clave API y cambiando http a https.
También puede hacer geocodificación en el lado del cliente. Aquí hay un artículo que compara el enfoque de hacer algo del lado del cliente y algo del sitio del servidor.
También tuvimos este problema y la solución fue eliminar la API de Google. Si todo lo que necesita es geocodificación, existen numerosas alternativas que son igualmente efectivas sin las limitaciones. Elegimos la API mapquest. Ha sido más rápido y más confiable sin límite en las llamadas de codificación geográfica, y realmente me gusta su API para agrupar las solicitudes de geocodificación en una sola llamada.
Si hay otras características que necesita, obviamente debe tenerlas en cuenta, pero en el caso de una característica única, usar la API más grande en el bloque no es necesariamente la mejor opción.
developer.mapquest.com