2010-08-20 13 views
35

Ho un problema durante l'acquisizione di google maps dalla mia applicazione, quando invio più di 10 richieste in loop dallo script java ottengo l'eccezione come OVER_QUERY_LIMIT dal servizio geocoder. c'è un modo per sbarazzarsi di questo, ho provato a dare dei ritardi di tempo usando setInterval() ecc., Ma non funziona.OVER_QUERY_LIMIT durante l'utilizzo di google maps

+0

possibile duplicato di [Come faccio Geocode 20 indirizzi senza ricevere una risposta OVER_QUERY_LIMIT?] (Http://stackoverflow.com/questions/2419219/how-do-i-geocode-20-addresses-without- receiving-a-over-query-limit-response) – Gilles

+0

In questa domanda propongo una risposta che continuerà a inviare richieste finché non avranno tutti successo: http://stackoverflow.com/questions/7649155/avoid-geocode-limit-on -custom-google-map-con-multiple-marcatori/7651681 # 7651681 –

+0

Guardate qui: http://stackoverflow.com/questions/16659398/google-maps-over-query-limit – user2403424

risposta

1

Se si utilizza un completamento automatico, prova a utilizzare Google Places Autocomplete API. (Anche se questo non è esattamente quello che ha chiesto, presumo che molti arriveranno da questa domanda)

0

Avere un elenco di API e usarli in modo casuale per ogni richiesta. per esempio in python

come chiavi = [key1, chiave1, key3 ....]

location = Geocoder(random.choice(keys)).geocode(address) 

o

location = Geocoder(random.choice(keys)).reverse_geocode(Lat,Long) 

base alle proprie esigenze

3

Geocoding in JavaScript L'API è a tariffa limitata. Quando si carica per la prima volta l'API, è possibile inviare 10 richieste di geocodifica dell'indirizzo o 5 per la geocodifica inversa (latlng) prima di ottenere una risposta OVER_QUERY_LIMIT. Quando lo fai, usa "exponential backoff" per ritardare le tue domande.

Si consiglia inoltre di partecipare alla discussione in Issue 4805 (problemi gmaps-api).

0
We can use ajax queue. 
At a time 20 ajax request will get executed and other will wait in queue. 
Create multiple geocode key and keep in array and use it randomly for each ajax request. 

Here I have loaded 2200 markers. It takes around 1 min to add 2200 locations. 
<https://jsfiddle.net/suchg/qm1pqunz/11/> 
+0

Questa soluzione può essere contro il ToS, [paragrafo 10.4b] (https://developers.goo gle.com/maps/terms#10-license-restrictions) – xomena