(PHP) 用户输入的城市列表

(PHP) List of Cities by user input

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

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

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

这看起来不错,但我需要一种方法来过滤结果。因为我不需要bus/rail个车站或商场。只有 locations/settlements (cities/towns, villages/suburbs/hamlets) 人们居住的地方。并且 - 如果可能的话 - 还按国家/地区 (在本例中为德国).

进行过滤

有人有什么想法吗? :)

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

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

并请遵守Nominatim's usage policy, this service runs on donated resources and has limited capacity. If you need to run more frequent queries then either choose one of the alternative instances or install and run your own instance.