我有一个包含姓名、邮政编码和愿意旅行的距离的 csv 文件。网络用户将输入他们的邮政编码和他们愿意搜索多远的英里半径。我正在寻找与该搜索匹配的 csv 文件中的人名。我对地理定位搜索或当前可用的免费技术(如谷歌地图)不太熟悉。该站点是用 php 编写的,并使用 jquery。我不想要地图,只想要名称的数组或树。关于如何设置的任何建议?
CSV 示例
"1","John Smith","ZipCode-12345","TravelDistance-30"
解决方案
- 设置一个 cronjob 来抓取 csv 文件并转储到 mysql db 表中
- 下载了城市/州、纬度/经度、邮政编码的数据库表
- 使用sql公式计算距离并查询匹配
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
* cos( 弧度( lng ) - 弧度(-122) ) + sin( 弧度(37) ) * sin( 弧度( lat ) ) ) ) 作为距离标记的距离,距离 < 25 按距离限制 0、20 排序;