这可能吗?
我有用户会在地图上显示他们居住的地方,如果这不是一个大城镇或城市,我想找到并将此信息与用户记录相关联。
知道怎么做吗?
答案 0 :(得分:3)
我意识到这是一个老帖子;但是,我发表了自己的观点,以便在他们的研究中偶然发现这篇文章(就像我一样)。
为了找到最大/最近的大城市/城镇,您需要定义'大'。
什么是大城市?这完全是主观的 - 我的定义与你的定义不同。地图服务无法决定“大”的定义。
大城市的优先次序?让我们说即使你以某种方式达到了#1,你将如何优先考虑。一个“小”小镇X可能有两个靠近它的大城市 - A& B.你会接受哪一个?
基于上述两个陈述,我建议你反对;但是,如果您无法避免这种情况,则需要在应用程序中添加自定义逻辑。示例:获取25英里范围内的所有位置,并自行决定要保存的位置。
答案 1 :(得分:3)
为什么不使用GeoNames Web服务。你可以download the complete dump。
它将Lat / Lng作为参数,并且还有一个名为radius(以km为单位的距离)的可选参数以及参数 cities ,其中:
cities1000.zip:所有拥有人口的城市> 1000或座位 adm div(ca 80.000)
cities5000.zip:所有拥有人口的城市> 5000或PPLA(约 40.000)
cities15000.zip:所有拥有人口的城市> 15000或大写字母 (ca 20.000)列
答案 2 :(得分:0)
一段时间以来,我一直在努力寻找执行此操作的最佳方法。 Google 的 API 在解码坐标时似乎主要使用地址/城镇边界,这没有帮助。
如果您在美国,国家气象局的 API 是完美的选择。给定美国的坐标,它可以提供最近的城镇/人口普查指定地点以及该点距城镇的距离和方向。
创建了一个基本站点来试用它