我有需要,用户可以添加他/她的邮政编码的客户,那么管理员可以选择在特定的区域范围内如何选择特定地区/范围内的邮政编码?
用户,例如:
user - zip code
1 - 24533
2 - 56924
3 - 35993
4 - 13435
管理的邮编是39824
他需要通过邮编选择5公里范围内的人。 这是怎么发生的使用PHP或任何其他解决方案?
我有需要,用户可以添加他/她的邮政编码的客户,那么管理员可以选择在特定的区域范围内如何选择特定地区/范围内的邮政编码?
用户,例如:
user - zip code
1 - 24533
2 - 56924
3 - 35993
4 - 13435
管理的邮编是39824
他需要通过邮编选择5公里范围内的人。 这是怎么发生的使用PHP或任何其他解决方案?
php/mysql zip code proximity search
不过,就个人而言,我喜欢你的邮政编码范围和距离计算解决方案。如果你有经验,我会提出另一个建议,但这似乎与你所需要的相似。
http://www.micahcarrick.com/php-zip-code-range-and-distance-calculation.html
如果您正在使用的邮政编码接收地址,那么你就可以查询Google geocode Api得到这些地址的地理编码。
一旦你有了这些地址解析,计算距离可以使用代码示例从this site
我只收到邮编没有地址 – Khashabawy
很简单 你只需要对你想要得到的邮编邮政编码的邮编的纬度和经度来完成。如果你没有经度和latotude从谷歌它是免费的。您可以通过邮编轻松获取经度和纬度。
例如,你想要得到的邮编轮百英里的“H8t”
我有具有经纬度资讯邮编表。
首先,我编写一个查询到我的表中获取经纬度后获得的纬度和经度
SELECT * FROM Tbl_Master_ZIPCodes WHERE ZIPcode ='H8T'
我下面写一个查询来获取所有邮编为100英里的H8T“
范围SELECT distinct zipcode,
3963 * (ACOS((SIN(45.456700/57.2958) * SIN(latitude/57.2958)) + (COS(45.456700/57.2958) * COS(latitude/57.2958) * COS(longitude/57.2958 - -73.712000/57.2958)))) AS distance
FROM Tbl_Master_ZIPCodes
WHERE 3963 * (ACOS((SIN(45.456700/57.2958) * SIN(latitude/57.2958)) + (COS(45.456700/57.2958) * COS(latitude/57.2958) * COS(longitude/57.2958 - -73.712000/57.2958)))) <= 100 Order by Distance
第二个链接已死亡。 – Ael