【发布时间】:2017-10-06 01:11:54
【问题描述】:
我正在尝试解析具有 400 个地址的 json,并在每个位置设置地图图标。我的问题是,当我遍历这些项目时,我得到一个错误:OVER_QUERY_LIMIT。但是使用 google geocode api 设置位置的最佳方法是什么? 我的函数如下所示:
function getAddresses(data) {
var items, markers_data = [];
if (data.addresses.length > 0) {
items = data.addresses;
for (var i = 0; i < items.length; i++) {
var
item = items[i]
, street = item.address.street
, zip = item.address.zip
, city = item.address.city
, country = item.address.country;
var
geocoder = new google.maps.Geocoder()
, fulladdress = street + ',' + zip + ' '+ city + ',' + country;
setTimeout(function () {
geocoder.geocode({'address': fulladdress},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0].geometry.location.lat());
console.log(results[0].geometry.location.lng());
markers_data.push({
lat : results[0].geometry.location.lat(),
lng : results[0].geometry.location.lng(),
title: item.name,
infoWindow: {
content: '<h2>'+item.name+'</h2><p>'+ street + zip + city +'</p>'
}
});
} else {
console.log('not geocoded');
console.log('status');
console.log(status);
}
});
}, 1000);
}
}
map.addMarkers(markers_data);
}
我尝试将我的 geocoder.geocode 函数置于超时函数中,但不幸的是这无济于事。我在我的 js 中使用插件 gmaps.js。
【问题讨论】:
标签: jquery json google-maps-api-3 gmaps.js