0

试图向地图添加 45 个不同的点,但我只是OVER_QUERY_LIMIT返回,没有地图。

我通过字符串搜索获取位置,然后将返回的 LatLng 对象分配给新的 google Marker 对象


字符串搜索

var geocoder = new google.maps.Geocoder();
      geocoder.geocode( { 'address': x}, function(results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            var result = results[0].geometry.location;
          return result;

        } else {
          alert("Geocode was not successful for the following reason: " + status);
        }
      });
4

3 回答 3

4

谷歌地理编码全天都有速率限制。它也受IP地址的限制。因此,有两种可能的相互作用:如果您与许多其他人共享一个 IP 地址,他们也可能会降低您的配额。在移动环境中尤其如此。另一种更可能的可能性是您在一天内遇到了速率限制。如果你明白了,暂停一两秒,然后再试一次。

您还可以出于性能目的缓存地理编码和地址,并拥有使用 Google 网络服务的备份服务器端地理编码服务。这也将被配额,但这是一个很好的后备。

于 2012-01-13T21:49:39.753 回答
1

考虑使用 Google Fusion Tables 进行数据存储及其地理编码部分——至少,它们的批量地理编码接口遵循它们自己的内部限制。

http://support.google.com/fusiontables/bin/answer.py?hl=en&answer=1012281

于 2012-01-13T17:10:21.060 回答
0

你应该如何解决这个问题,如果它们是静态的,则对静态地址进行地理编码并保存 lat lng 以供进一步使用。如果没有静态,我不知道该说什么。

于 2012-01-13T17:05:12.247 回答