使用 Google 地图避免地理编码限制的替代方法

Posted

技术标签:

【中文标题】使用 Google 地图避免地理编码限制的替代方法【英文标题】:Alternate ways to avoid geocode limit with Google Maps 【发布时间】:2011-12-21 07:07:40 【问题描述】:

我目前有一个 Google 地图,可以即时对多个标记进行地理编码,但发现它很快就达到了地理编码限制。

作为一项初步工作,我在每个地理编码请求之间设置了一个时间延迟。这被证明是不够的,因为您必须等待 X 秒/分钟才能对每个标记进行地理编码,这意味着不会立即绘制标记。

然后我尝试了 Google Fusion Tables,它可以立即绘制所有标记,但在处理实时数据时被证明是困难的。它似乎无法与我的 Wordpress 数据库一起使用,因此它正在获取实时数据。 (或者至少我找不到任何例子)。

还有哪些其他方法可以避免地理编码限制?谁能指出我正确的方向。

我的要求是:

    需要立即绘制标记(或至少以最短的等待时间)。 需要使用我的 Wordpress 数据。 数据需要是实时的,即在 Wordpress 中编辑/更新某些内容时,更改需要过滤到地图数据。 Wordpress 中的数据需要进行模糊处理,或者至少难以掌握。

【问题讨论】:

您是否考虑过将地理编码结果缓存在本地数据库表中?这就是人们通常会做的事情。 好吧,您通常会将地理编码结果存储在 mysql 数据库中 - 一个字段用于相关地址,两个字段用于纬度/经度......然后在向 Google 发出请求之前,您会首先检查您是否有本地文件中的地址。与@Mitch 下面的建议差不多 【参考方案1】:

在不了解您正在地理编码的内容以及原因的情况下,您是否考虑过将结果缓存在您的服务器上?如果您对同一个地址发出许多请求,那么一遍又一遍地浪费 API 调用是没有意义的。

您必须将 php 脚本设置为代理,在数据库的缓存表中查找地址,如果存在,则从数据库返回值。如果不存在,请进行 API 调用,将结果存储在您的数据库中,然后返回地理编码信息。

如果每个请求都针对不同的地址,并且您几乎不会多次对同一地址进行地理编码,那么这不是您的解决方案。

【讨论】:

目前我正在对 127 家公司的地址进行地理编码。地址不太可能发生太大变化,但这些将由多个用户输入,因此我不希望他们必须输入纬度/经度坐标。目前有 127 家,但还会有更多公司加入其中。 好的,我环顾四周,这似乎是一个不错的方向。你有任何我可以遵循的代码示例吗? Google 实际上提供了一些您可以遵循的示例代码:code.google.com/apis/maps/articles/phpsqlgeocode.html。这不完全是我会怎么做,但它应该给你一个很好的起点。

以上是关于使用 Google 地图避免地理编码限制的替代方法的主要内容,如果未能解决你的问题,请参考以下文章

基于地理编码的 IP 居中 Google 地图

谷歌地图标记功能(替代,非地理编码)

使用Google地图进行地理编码

谷歌地图 SDK 地理编码

Google Maps API 地理编码 <> 静态地图?

Google Javascript API 地理编码限制