我有需要,用戶可以添加他/她的郵政編碼的客戶,那麼管理員可以選擇在特定的區域範圍內如何選擇特定地區/範圍內的郵政編碼?
用戶,例如:
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