我如何从谷歌地图获取最近的重要城镇或城市?

问题描述 投票:0回答:4

这可能吗?

我的用户会在地图上显示他们居住的位置,如果这不是一个大城镇或城市,我想找到它并将此信息与用户记录相关联。

知道如何做到这一点吗?

google-maps dictionary reverse-geocoding
4个回答
4
投票

为什么不使用 GeoNames Web 服务。您可以下载完整的转储

它以 Lat/Lng 作为参数,还有一个可选参数,称为半径(距离以公里为单位)以及参数 cities 其中:

cities1000.zip :所有人口超过 1000 或座位数的城市 adm div(约 80.000)

cities5000.zip :所有人口超过 5000 或 PPLA 的城市(约 40.000)

cities15000.zip :所有人口> 15000的城市或首都 (约 20.000)列


3
投票

我意识到这是一篇旧帖子;然而,我发布我的观点是为了那些在研究中偶然发现这篇文章的人(就像我一样)的利益。

为了找到最大/最近的大城市/城镇,您需要定义“大”。

  1. 什么是大城市/城镇?这完全是主观的——我的定义与你的不同。地图服务无法决定“大”的定义。

  2. 大城市优先?假设即使您以某种方式实现了第一,您将如何确定优先顺序。一个“小”城镇 X 附近可能有 2 个大城市 - A 和 B。您会接受哪一个?

基于以上两种说法,我建议您不要这样做;但是,如果您无法避免这种情况,则需要在应用程序中添加自定义逻辑。示例:获取 25 英里内的所有位置,然后自行决定要保存的位置。


1
投票

我有一段时间努力寻找最好的方法来做到这一点。谷歌的API在解码坐标时似乎主要使用地址/城镇边界,这是没有帮助的。

如果您在美国,国家气象局的 API 是完美的。给定美国境内的坐标,它可以提供最近的城镇/人口普查指定地点以及该点与城镇的距离和方向。

我创建了一个基本网站来尝试一下 https://nearest.town/


0
投票

@kenny 上面。感谢您的https://nearest.town/

您的网站要求提供“纬度”和“纬度”。我认为后者应该是经度。

© www.soinside.com 2019 - 2024. All rights reserved.