google-maps - 在哪里可以找到城市/城镇位置数据以进行基于位置的搜索?

标签 google-maps geolocation geocoding

我需要使用x英里的城镇功能来实现查找条目,因此我有一个附有自动提示功能的城镇箱。目前,我正在使用Google的Geocoding API来获取自动建议结果的数据,但显然我们无法调整或更改此数据,并且它并不总是能提供明智的建议(甚至带有国家/地区提示)。城镇/城市位置数据还有其他来源吗?我试图查看OpenStreetMap是否可以导出内容,但是我只能找到 map 图块或矢量 map 数据,而不能找到城镇/城市名称和位置的POI数据。

任何建议表示赞赏。
谢谢。

最佳答案

Geonames.org拥有可下载的城市列表,甚至包括世界上许多国家的邮政编码以及相应的经纬度。它受知识共享署名3.0许可的约束,这意味着您可以在商业上使用它,但除其他事项外,您还必须注明出处。
尽管拥有可下载的列表可能意味着在实现搜索算法的所有方面方面需要做更多的工作,但有一线希望是,您不会将自己与第三方Web服务的正常运行时间/可用性联系在一起。
唯一缺少的其他部分是距离计算公式。您可以使用greater-circle distance formula计算距离。
我自己做了很多次。第一次编写代码时,需要花一点时间将所有内容包裹起来,但是一旦完成,这只是小菜一碟。
我可能应该提到我是SmartyStreets的创始人。我们进行街道地址验证,不仅可以告诉您地址是否好(这在很多方面都有帮助),而且还可以为您提供给定街道地址的经纬度坐标,从而可以然后将其插入上述解决方案,以确定与附近地点的距离。

关于google-maps - 在哪里可以找到城市/城镇位置数据以进行基于位置的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9532369/

相关文章:

android - 当前位置始终为空

python - 生成美国的随机坐标?

mysql - SQL 分组依据。不同城市的重复 latlng

objective-c - 特定位置(基于 GPS)的应用程序和 Apple Review Process,它们是否也可以在没有 GPS 的情况下工作? [编辑]

plugins - flutter 将地理定位器添加到项目中给出错误

iphone - 使用谷歌地图 API 从 iPhone 进行反向地理编码纬度/经度

javascript - CSS 谷歌地图自定义信息窗口

google-maps - 谷歌地图只加载第一次,第二次是灰色的

android - GooglePlayServicesUtil.getOpenSourceSoftware 方法不可用

Javascript 闭包不适用于谷歌地图 V3