【问题标题】:what is the best geocode to get long and lot for a street address? [closed]获取街道地址的最佳地理编码是什么? [关闭]
【发布时间】:2016-03-05 12:37:23
【问题描述】:

我的街道地址格式为

1 Rue du Four, 60200 COMPIEGNE, France

2 Rue de Lancry, 60200 COMPIEGNE, France

并且地址列表可以达到100 000.00万。

目前我正在使用 google gecode,但它有每天 2500 个限制。我不断收到此错误。

google.maps.GeocoderStatus.OVER_QUERY_LIMIT

然后我设法通过如下所示的超时来做到这一点

函数代码地址(markersAddress) {

var address = markersAddress.address;
var name = markersAddress.name;
var info = markersAddress.info;
geocoder.geocode({'address': address}, function (results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    var latLng = results[0].geometry.location;
  } else {
    if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
      setTimeout(function() { codeAddress(markersAddress); }, (timeout * 3));
    } else {
      console.log('Geocode was not successful for the following reason: ' + status);
    }
  }
});

但是,当有 100 000 条记录时,此方法会导致浏览器速度变慢。那么有没有更好的方法来使用 api 获取地理编码?

【问题讨论】:

  • Google 的地理编码几乎是最好的。如果您每天需要向它发出超过 2,500 个请求,那么无论您使用谁,您都将不得不使用付费服务。如果您真的需要在地图上显示 100,000 个项目,我建议您考虑获得一个 Google Maps Premier 帐户,尽管这绝对不应该是这样。实施某种过滤器来减少这个数字是值得的。
  • 100,000 条记录就是您的全部问题。将该数字减少到可以管理的程度,或use your own database to cache results for a few days or weeks
  • 您厌倦了有限制的免费服务?您可能应该降低您的期望,或者为没有限制的服务付费。
  • 在提交嵌入服务的设计之前,我建议您阅读使用条款……而不仅仅是向下滚动并单击接受按钮。事实上,在这种特定情况下,您可能应该这样做(阅读部分)。

标签: javascript php jquery google-maps google-maps-api-3


【解决方案1】:

离线地理编码地址并“缓存”结果(少于 30 天以符合terms of service),使用坐标显示您的标记。

更多详情:Geocoding Strategies Google 地图文档中的文章。

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2010-12-25
    • 1970-01-01
    相关资源
    最近更新 更多