【发布时间】:2010-09-15 00:55:44
【问题描述】:
在 Google 地图上绘制点的最佳方式是什么?我的数据库中存储了一堆地址(大约 300 个),现在我将每个地址输出到一个 JS 数组中,并通过遍历数组并运行一个对地址进行地理编码并创建新标记的函数来绘制每个地址。但是,我不确定这是否是最好的方法。有什么想法吗?
【问题讨论】:
标签: google-maps google-maps-api-3 geocoding
在 Google 地图上绘制点的最佳方式是什么?我的数据库中存储了一堆地址(大约 300 个),现在我将每个地址输出到一个 JS 数组中,并通过遍历数组并运行一个对地址进行地理编码并创建新标记的函数来绘制每个地址。但是,我不确定这是否是最好的方法。有什么想法吗?
【问题讨论】:
标签: google-maps google-maps-api-3 geocoding
您的问题是地理编码部分。一次对 300 个地址进行地理编码很慢,很快就会达到每日限制。
您应该考虑使用geocoding on the server-side,并将它们缓存在您的数据库或其他地方。 Google Maps API Terms of Use 似乎允许缓存地理编码结果“以提高 Maps API 实施的性能”(Section 10.3)。
【讨论】:
如果地址相对恒定,则重复的地理编码效率不是很高。您可以对每个进行一次地理编码,然后仅将纬度和经度提交给 Google 地图以进行绘图。请参阅KML upload information。
【讨论】:
我最终做的是使用名为 Tiny Geocoder 的 Web 服务将地址插入我的数据库时对地址进行地理编码:http://tinygeocoder.com/。
对于我已经拥有的现有地址,我运行了一个脚本,该脚本使用相同的服务来循环我的结果集,对每个地址进行地理编码,并将纬度/经度存储在数据库中。花了一些时间,但它完成了工作。
【讨论】: