Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
超过查询限制javascript v3_Javascript_Google Maps Api 3 - Fatal编程技术网

超过查询限制javascript v3

超过查询限制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

在我的应用程序中,我试图将一个地区(城市)与lngLat和地址一起存储在我的位置模型中

问题是,对于新的地点,这将是很容易的,因为当我创建我会这样做。对于旧位置,我编写了这段代码

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毫秒。