我对地理编码很陌生,所以我不确定这是我应该问的问题,还有我在这个主题上看过的所有其他讨论(这里和Google上) API论坛)是特定于应用程序的,我觉得我可能错过了一个非常基本的步骤 - 我不需要知道如何来实现商店查找器 - 我需要知道我是否< EM>应
这是我的具体情况 - 我已经签约设计一个应用程序,我们将建立一个商店数据库(比如独立拥有的酒吧和酒吧)。随着商店关闭和新商店关闭,这份名单将不断增长和变化。用户可以输入他/她的原点(邮政编码或地址),并按照接近顺序显示包含给定半径内所有各种商店的列表或地图。
我知道如何从静态数据库中提供这些结果: 人们会将经度和纬度存储为每行的列,然后只使用该信息来检查距离。
但是我继承了一个(已经相当大)商店的数据库,这些商店有地址但不是坐标 - 所以我不确定获得这些地址的最佳方法是什么。我可以编写一个脚本来一次一个地查询谷歌地理编码,我可以让一个数据输入人员手动查找每个人的坐标并以这种方式填充数据,或者可能有第三个选项我是不知道。
这是问这个问题的合适地方吗? Google Maps Geocoding不会托管自己的论坛,但会将人们引用到Stack Overflow。网上处理这个主题的其他论坛都与特定的技术问题有关,但似乎没有人从自上而下的角度谈论它(即大图)。
谷歌每天对免费用户提出2,500次查询限制,对付费用户每天限制100,000次查询 - 如果用户每次限制,那么这些查询似乎都不能胜任具有中等流量的网站的任务请求,整个数据库(可能是数千家商店)正在根据谷歌的数据进行检查。似乎我们必须在本地存储coords,但即使在本地存储它们,也必须对Google进行检查才能在地图上绘制它们。如果我有一个有限数量的位置(例如,如果我有六个硬件商店)并且我想创建一个商店定位器,那么会有大量的讨论,教程和堆栈溢出问题可供我指明,但我处理的是潜在的大量记录,不知道如何继续或从哪里开始。
欢迎任何建议 - 此外,如果这不是提出这个问题的最佳地点,那么有用的回应就是指出一个更好的发布地点。我已经搜索了三天,但没有找到看起来像是提出这些主观问题的好资源。
答案 0 :(得分:0)
当然,最好的方法是使用地理编码服务来获取坐标并将坐标存储在数据库中。但谷歌的地理编码服务是不可能的,因为它不允许永久存储地理编码数据。
有免费服务没有此限制,搜索的一些关键字:mapquest,nominatim,geonames(但这些服务不如谷歌准确)
另一种选择是使用FusionTable。地理编码将自动运行(但每日限制与地理编码服务相同)。好处:地理编码是永久性的(您无法通过例如下载DB转储直接访问位置),但您可以使用坐标绘制标记(通过FusionTablesLayer)或过滤(例如按距离)
条目数不应成为问题,数据库100k没问题