我看过很多关于使用谷歌地图和地理编码来搜索特定区域周围半径的文章(Haversine公式等等)但这些似乎都包括输入一个邮编/邮政编码, lat / lng作为搜索,显然直接使用谷歌地图作为结果工具。
我在瑞士有一个包含一系列项目的数据库,每个项目都存储有邮政编码,lat和lng。我的问题是,如果没有用户输入邮政编码或lat / lng位置 - 只需进入他们的城镇或村庄,如何使用半径过滤器从用户位置设置搜索的最佳方式?我看到它的方式是我需要确定他们输入的位置是一个真实的位置,计算出这个地方的纬度/经度或邮政编码,然后根据该信息运行搜索查询;有没有人知道能够从任何地方检索数据的任何逻辑(例如,输入城镇名称(不是英国)并能够确定地理位置从什么时候进入,然后使用它来过滤结果?理想情况下,我想我&# 39; d将每个村庄,城镇和城市的位置存储在一个单独的表格中,我可以查询然后从那里计算出半径,但是它收集了我找不到的位置的重要定位数据怎么办?
对此的任何建议都会很棒,谢谢。我处于此开发的早期阶段,但将使用PHP / MYSQL构建核心功能。如果有人知道一些较大的房产门户网站或其他基于搜索的位置网站如何做到这一点也会很棒!
答案 0 :(得分:0)
谷歌地图API确实按地点搜索 https://developers.google.com/places/webservice/search#TextSearchRequests
如果您希望用户只输入城市或村庄,因为您知道国家/地区,您可以将国家/地区添加到查询中。