我正在尝试使用gmaps.js从json文件对一组邮政编码进行地理编码。
阵列中有101个邮政编码但是当我循环使用它们与gmaps.js一起使用时,它只会迭代到11个。我试着寻找答案,但是我无法弄明白,一切看起来都是正确的,这是我的代码
var getPostcodes = function () {
var json = "http://example.co.uk/addresses.json";
var request = new XMLHttpRequest();
request.open('GET', json, true);
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
// Success!
var data = JSON.parse(request.responseText);
//GET POSTCODES IN ARRAY
var postcodesArray = [];
for (var i = 0; i < data.length; i++) {
postcodesArray.push(data[i].from_postcode);
}
var postcodes = postcodesArray.filter(Boolean);
//GET LAT/LONG POSITIONS
for (var n = 0; n < postcodes.length; n++) {
GMaps.geocode({
address: postcodes[n],
callback: function (results, status) {
if (status == 'OK') {
var location = results[0].geometry.location;
var latitude = parseFloat(location.lat().toFixed(8)),
longitude = parseFloat(location.lng().toFixed(8));
console.log(latitude + ' ' + longitude);
}
}
});
}
}
else {
console.log("failed");
}
};
request.send();
}
getPostcodes();
// EDIT 控制台日志
// EDIT codepen链接
答案 0 :(得分:-1)
Google每秒限制地理编码请求的数量。我建议你在连续请求之间安排睡眠。