【问题标题】:(PHP) List of Cities by user input(PHP) 用户输入的城市列表
【发布时间】:2015-03-04 17:23:39
【问题描述】:

我需要一个免费的(也许是开源的)服务来获取城市列表(城镇、村庄、小村庄),其中包含一些数据,例如: - geoCoords [LAT|LON] //非常重要!! - 区 - 地区/县 - 状态 - (可能是邮政编码)

用户在输入字段中输入他的居住地并获得他/她可以从中选择自己的城市的城市列表。 (可能会显示一些信息,如县或州或其他) - 我需要将 geoCoords [LAT|LON] 保存到我的数据库中,以便稍后计算与其他用户的距离。

所以我找到了 OpenStreetMap - 项目:http://nominatim.openstreetmap.org/search.php?q=Neustadt&format=json&addressdetails=1 (example)

这看起来不错,但我需要一种过滤结果的方法。因为我不需要公共汽车/火车站或购物中心。只有人们居住的地点/定居点(城市/城镇、村庄/郊区/村庄)。并且 - 如果可能的话 - 还按国家/地区过滤(在本例中为:德国)

有人有什么想法吗? :)

【问题讨论】:

  • &featuretype=settlement。其他可能的特征类型值为:countrystatecity
  • 我无法使用 googleMaps,因为我每天的页面展示次数可能会超过 5000 次。 API 的点击次数超过 5 次可能会花费很多钱。 ://

标签: php geocoding openstreetmap city


【解决方案1】:

看看Nominatim documentation in the OpenStreetMap wiki。不要使用简单的查询,试试结构化请求

请注意,您不能将结构化查询与q=<query> 参数结合起来。

请遵守Nominatim's usage policy,此服务基于捐赠资源运行,容量有限。如果您需要运行更频繁的查询,请选择备用实例之一或install and run your own instance

【讨论】:

  • 我没有看到 URL 属性查询之间的区别。 :/也许我使用我的旧想法:只是一个手写的城镇/县列表,带有特殊信息,例如州/国家/...:/
  • 所以我找到了这份德国城镇/城市/县的列表 (de.wikipedia.org/wiki/Liste_der_Städte_in_Deutschland)(括号内附有州注释)。 - 但只是没有 GeoCoords [LAT|LON]。 ://
  • 抱歉... 使用 GeoCoords [LAT|LON](在 wiki 详细信息页面的右上角隐藏了一点点)。 :)
  • 我不太明白为什么这对你不起作用。但是很高兴您找到了替代方案。
猜你喜欢
  • 2012-08-05
  • 2011-08-31
  • 1970-01-01
  • 2018-05-28
  • 2023-03-04
  • 2019-08-04
  • 2018-10-12
  • 2013-03-21
  • 1970-01-01
相关资源
最近更新 更多