我在Google Maps API 3中使用此功能
基本上我要在地图上添加约150个标记。我使用GeoCoding一次得到lat和long,以便将地图置于特定位置的中心,但这是我使用GeoCoding的 时间。但是,GeoCoding会异步返回结果,所以我等待通过将其余代码放在GeoCode回调函数中来返回结果(参见下面的代码)。这一切都很好,直到今天我们开始得到一张空白地图。
在调查时,我意识到GeocoderStatus正在返回 over_query_limit ,并且由于if语句,它绕过了其余的代码。
经过进一步调查,我们发现每天有2500个GeoCode请求限制。但是,我无法真正看到这个特定的网站可能达到了这个限制,因为我们每个地图请求只调用一次GeoCode ...除非当然有一些我不理解我们下面的代码...是事实我们在GeoCode回调中包装everythign是否意味着我们不止一次调用GeoCode? p>
无论如何,此代码有时会导致 over_query_limit GeoCodeStatus错误并返回空白地图
function initialize() {
var geocoder = new google.maps.Geocoder();
var mapCentre = "Blackpool, United Kingdom";
// Get lat long for city that we use to center the map within the container.
geocoder.geocode({ 'address': mapCentre }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var mapCentreLatlng = new google.maps.LatLng(results[0].geometry.location.lb, results[0].geometry.location.mb);
// This function creates the marker - it does not use GeoCoder to look up an address as we supply the lat and long directly in our JSON
buildMap(mapCentreLatlng);
}
});
}
这段代码很好 - 它不再调用GeoCode
function initialize() {
var mapCentreLatlng = new google.maps.LatLng(53.8142, -3.0503);
buildMap(mapCentreLatlng);
}
我们现在有一切工作,但只是想知道是否有人可以解释?
答案 0 :(得分:1)
过去24小时内,来自同一IP地址的限制为2500个GeoCode请求! 但我发现有时候会少一些。
答案 1 :(得分:1)
如果您发送的请求太快,您也会收到此结果。请参阅documentation。