Я использую NodeJ для создания веб-приложения геокодирования.Геокодирование работает хорошо, за исключением того факта, что у меня 40% ошибки 620 от Google, поэтому я теряю много адресов геокоду.
Ошибка 620: потому что http.get (....)слишком быстро выполняет запрос get для веб-службы Google.
Я пытался использовать setTimeout (requestGeocod (place, client, details), 1000), но NodeJS обычно запускает requestGeocod.
Чтоя могу изменить, чтобы получить 100% моего запроса.
/*GOOGLE MAPS GEOCODING API QUERY*/
function requestGeocod(place, client, details){
var options = {
host: 'maps.google.com',
port: 80,
path: '/maps/geo?'+ query.stringify({"q":place}) +'&output=json&oe=utf8/&sensor=false&key='+api
};
console.log("Requête : " + options.path)
http.get(options, function(res) {
console.log("Got response: " + res.statusCode);
res.setEncoding('utf8');
res.on('data', function(chunk){
client.emit('result', {"chunk":chunk, "details":details})
})
res.on('end', function(){
console.log("Fin du GET");
})
}).on('error', function(e) {
console.log("Got error: " + e.message);
client.emit("error");
})
}