【问题标题】:Need to add 45+ points to a google map需要将 45+ 点添加到谷歌地图
【发布时间】:2012-02-09 20:34:25
【问题描述】:

尝试将 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);
        }
      });

【问题讨论】:

  • code.google.com/apis/maps/documentation/javascript/usage.html> ?
  • 你是如何获得字符串搜索的?
  • 每天 2500 次搜索只允许进行地理编码,或者如果您执行 45 点,则 2500/45 = 55 次才会阻止您。除非你有商务版,否则你会得到 100000 code.google.com/apis/maps/documentation/geocoding
  • 但它仍然让我从同一域、同一台机器上运行地图!
  • 它不会阻止您使用地图,只是地理编码。

标签: javascript api google-maps google-maps-api-3 limits


【解决方案1】:

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

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

【讨论】:

  • 我会尝试的第一件事是使用 setTimeout 或等效于将您的请求间隔 2-3 秒。你可能会因为没有间隔你的请求而受到限制。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    如果静态地址是静态的,则应通过地理编码来解决此问题,并保存 lat lng 以供进一步使用。如果没有静态,我不知道该说什么。

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 2014-02-19
      • 2019-06-23
      • 2012-04-19
      • 2012-06-14
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多