超过查询限制javascript v3
在我的应用程序中,我试图将一个地区(城市)与lngLat和地址一起存储在我的位置模型中 问题是,对于新的地点,这将是很容易的,因为当我创建我会这样做。对于旧位置,我编写了这段代码超过查询限制javascript v3,javascript,google-maps-api-3,Javascript,Google Maps Api 3,在我的应用程序中,我试图将一个地区(城市)与lngLat和地址一起存储在我的位置模型中 问题是,对于新的地点,这将是很容易的,因为当我创建我会这样做。对于旧位置,我编写了这段代码 function geocodeLatLng(geocoder, latlngStr, callback) { var latlng = { lat: parseFloat(latlngStr.split(',')[0]), lng: parseFloat(latlngStr.split(',')[1]) }; var
function geocodeLatLng(geocoder, latlngStr, callback) {
var latlng = { lat: parseFloat(latlngStr.split(',')[0]), lng: parseFloat(latlngStr.split(',')[1]) };
var city;
geocoder.geocode({ 'location': latlng }, function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var address = results[0].address_components;
for (var p = address.length - 1; p >= 0; p--) {
if (address[p].types.indexOf("locality") != -1) {
console.log(address[p].long_name);
city = address[p].long_name;
callback(city);
}
}
}
});
}
我这样称呼它
self.getRegion = function () {
for (var i = 0; i < self.rawLocations().length; i++) {
var location = self.rawLocations()[i];
setTimeout(
geocodeLatLng(geocoder, location.systemRepresentation(), function (res) {
}), 250);// End of setTimeOut Function - 250 being a quarter of a second.
}
}
self.getRegion=函数(){
对于(var i=0;i
问题是我在5次通话后超过了查询限制。我会将它自己的位置存储在数据库中,因为现在我必须这样做来修复旧的位置
有任何标题吗?谷歌地图javascript库有一个最大每秒调用数和一个小时速率,您是否试图以一个比每秒调用数更快的速率进行地理编码 5似乎很低,因为他们自己的文档告诉用户它是每秒50次() 您是否已注册密钥并正在使用它?这可能会有所不同(如果google帐户与注册的maps API一样旧,那么有时您可以在不带密钥的情况下使用系统)或者使用{your address}。这将返回JSON编码的数据,包括lat和long。您的函数将所有调用延迟250毫秒,因此不做任何有用的事情。使用
i*250
将前一次呼叫延迟250毫秒。