5

这可能吗?

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

知道怎么做吗?

4

3 回答 3

4

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

它以 Lat/Lng 作为参数,并且还有一个可选参数,称为半径(以 km 为单位的距离)以及参数城市,其中:

city1000.zip :所有人口 > 1000 或 adm div 座位的城市(ca 80.000)

city5000.zip :所有人口 > 5000 或 PPLA (ca 40.000) 的城市

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

于 2014-06-04T18:04:47.713 回答
3

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

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

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

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

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

于 2013-07-31T20:09:29.047 回答
0

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

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

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

于 2021-03-31T02:02:40.063 回答