2013-01-07 85 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 
相關問題