【问题标题】:How can i get the nearest significant town or city from google maps?我如何从谷歌地图中获得最近的重要城镇或城市?
【发布时间】:2011-08-02 13:24:35
【问题描述】:

这可能吗?

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

知道怎么做吗?

【问题讨论】:

  • 查看此帖类似问题stackoverflow.com/q/2054635/760489
  • 不——这会给我他们所在的村庄或城镇——而不是最近的重要城镇。所以如果他们住在小树枝里,我需要知道离他们最近的大城镇或城市

标签: google-maps map reverse-geocoding


【解决方案1】:

一段时间以来,我一直在努力寻找最好的方法。 Google 的 API 在解码坐标时似乎主要使用地址/城镇边界,这无济于事。

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

我创建了一个基本站点以在https://nearest.town/ 试用它

【讨论】:

    【解决方案2】:

    为什么不使用 GeoNames Web 服务。你可以download the complete dump。

    它以 Lat/Lng 作为参数,还有一个可选参数,称为 radius(distance in km) 以及参数 cities 其中:

    cities1000.zip : 所有人口 > 1000 或人口超过 1000 人的城市 adm div (ca 80.000)

    cities5000.zip :所有人口 > 5000 或 PPLA(约 40.000)

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

    【讨论】:

    • 您提供的链接出错。我想知道我提供位置和半径的 API,它返回该半径内的所有位置(城镇等)。我不想要 Google Places API 中提供的位置,例如咖啡馆、博物馆等。
    • 我已经更新了链接。 Web 服务对这个用例没有用,但您可以下载完整的转储。
    【解决方案3】:

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

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

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

    2. 大城市的优先级?假设即使您以某种方式实现了#1,您将如何优先考虑。一个“小”城镇 X 附近可能有 2 个大城市 - A 和 B。你会接受哪一个?

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

    【讨论】:

    • 我可以使用哪个 API 来获得指定半径内的所有位置?我所说的位置不是指咖啡馆、医院、博物馆等,而是指一个实际的城镇/城市。
    猜你喜欢
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多