2013-01-07 57 views
1

我有需要,用户可以添加他/她的邮政编码的客户,那么管理员可以选择在特定的区域范围内如何选择特定地区/范围内的邮政编码?

用户,例如:

user - zip code 
1 - 24533 
2 - 56924 
3 - 35993 
4 - 13435 

管理的邮编是39824

他需要通过邮编选择5公里范围内的人。 这是怎么发生的使用PHP或任何其他解决方案?

回答

0

如果您正在使用的邮政编码接收地址,那么你就可以查询Google geocode Api得到这些地址的地理编码。

一旦你有了这些地址解析,计算距离可以使用代码示例从this site

+0

我只收到邮编没有地址 – Khashabawy

1

很简单 你只需要对你想要得到的邮编邮政编码的邮编的纬度和经度来完成。如果你没有经度和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 
相关问题