在我的网站上,公司可以为每个分支机构输入位置(地址等)。每次我想在Google(谷歌)地图上显示地图时,不是通过Google进行地理编码,最好只需在输入时对每个地址进行地理编码,然后存储坐标以供日后使用。
然而,如果这是一种常规做法,或者开发人员是否通常每次都在进行地理编码,我会感到困惑。
答案 0 :(得分:4)
是的,这是一种常见做法,尤其是当您在带宽有限的环境中运行时。但是,您不能无限期地存储所有数据。您从API下载的内容有一些限制。
以下是Google对此问题的处理(Google Maps API系列服务条款,http://code.google.com/apis/maps/terms.html; 10.1.3.b):
您不得预先获取,缓存或存储任何内容,但您可以存储以下内容:(i)有限数量的内容,以便在您临时,安全地执行此操作时提高Maps API实施的效果并且以不允许在服务之外使用内容的方式
最重要的部分是:
答案 1 :(得分:1)
要考虑的一件事是地理编码坐标和地址并不总是描述相同的点。由于街道号码的插值和其他不准确性,在这个问题上没有地理编码服务是完美的。根据您使用坐标的情况,通常可以重新定位点,因此必须将其保存在数据中。
例如,如果您有一组地址如“Kings street 11-15”的公司,那么公司的主要入口在哪里?交货地点在哪里?这样的事情可能使得无法动态地进行地理编码。
即使你想“按原样”使用地理编码协调,我还记得Bing Maps对“不保存任何数据”的规则做了例外,以允许存储地理编码的位置。不确定谷歌是否做同样的事情......
答案 2 :(得分:0)
当然 - 它不像地理编码(基本上只是纬度和经度)是谷歌是唯一使用的东西。它几乎是每个人都这样做的(并且已经在过去十年中完成)
答案 3 :(得分:0)
通过我的SugarCRM谷歌地图项目,我将从数据库(地址缓存模块)中的Google Maps Geocoding API存储有限数量的数据。我不存储整个对象,只是它的一部分。只需存储您需要的效率。
主要是:
数据存储在地址缓存中以识别状态为“OK”的地址。因此,我只存储从Google地图返回的有限数量的数据。我觉得这样做绝对没问题。
另外,我只将它存储为地址缓存,可以随时销毁和重新填充。如果没有“预先填充的”经度/纬度信息,则需要几分钟才能填充包含5,000条记录的地图。使用缓存,可以在10秒内显示包含5,000条记录的地图。
http://www.jjwdesign.com/sugarcrm/google-maps-for-sugarcrm
要考虑的问题: