【问题标题】:What is the best way to plot points on a Google map?在谷歌地图上绘制点的最佳方法是什么?
【发布时间】:2010-09-15 00:55:44
【问题描述】:

在 Google 地图上绘制点的最佳方式是什么?我的数据库中存储了一堆地址(大约 300 个),现在我将每个地址输出到一个 JS 数组中,并通过遍历数组并运行一个对地址进行地理编码并创建新标记的函数来绘制每个地址。但是,我不确定这是否是最好的方法。有什么想法吗?

【问题讨论】:

    标签: google-maps google-maps-api-3 geocoding


    【解决方案1】:

    您的问题是地理编码部分。一次对 300 个地址进行地理编码很慢,很快就会达到每日限制。

    您应该考虑使用geocoding on the server-side,并将它们缓存在您的数据库或其他地方。 Google Maps API Terms of Use 似乎允许缓存地理编码结果“以提高 Maps API 实施的性能”(Section 10.3)。

    【讨论】:

    • 那么什么是好的服务器端地理编码 API?另外,一旦我通过另一个 API 对所有地址进行了地理编码,是否可以将所有纬度/经度输出到 JS 数组中并运行一个循环遍历数组并绘制每个地址的函数?
    • @phpguy:Google 提供了一个非常好的(并且流行的)服务器端地理编码 API:code.google.com/apis/maps/documentation/geocoding。是的,然后按照您的建议构建一个 lat/long 的 JavaScript 数组,如下所示:stackoverflow.com/questions/3723092/…(使用 v2 API,但可以轻松转换为 v3)。
    【解决方案2】:

    如果地址相对恒定,则重复的地理编码效率不是很高。您可以对每个进行一次地理编码,然后仅将纬度和经度提交给 Google 地图以进行绘图。请参阅KML upload information

    【讨论】:

      【解决方案3】:

      我最终做的是使用名为 Tiny Geocoder 的 Web 服务将地址插入我的数据库时对地址进行地理编码:http://tinygeocoder.com/

      对于我已经拥有的现有地址,我运行了一个脚本,该脚本使用相同的服务来循环我的结果集,对每个地址进行地理编码,并将纬度/经度存储在数据库中。花了一些时间,但它完成了工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-11
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        • 2010-12-13
        • 1970-01-01
        相关资源
        最近更新 更多