好吧,我正在建立一個外賣取景器,它將在設定的英國郵政編碼範圍內找到外賣。用戶將他/她的郵編放在輸入框中並點擊提交,網站就會在用戶附近搜索外賣。但問題在於,這種搜索是基於個人外賣交貨距離。因此,如果外賣店的送貨距離爲12英里,而人員郵政編碼在外賣店12英里內,則會在結果中顯示。外賣餐廳查找幫助在php
到目前爲止,我有英國郵政編碼數據庫與朗和緯度座標,也外賣數據庫表持有外賣自己的郵政編碼和其交付距離,但不是外賣郵遞區的長和緯度值。
我所要求的並不是代碼,而是如何做到這一點的邏輯幫助。
我有以下查詢,將找到一個給定的長,緯度,但林不知道一套半徑範圍內的所有郵政編碼如果在英里,如果它是最快的則可能是:
SELECT * , 6371 * ACos(Cos(RADIANS(latitude)) * Cos(RADIANS(56.0062)) * Cos( RADIANS(- 3.78189) - RADIANS(longitude)) + Sin(RADIANS(latitude)) * Sin(RADIANS(56.0062))) AS Distance
FROM postcodes
HAVING Distance <= '10'
ORDER BY Distance
LIMIT 3720 , 30
它以公里爲單位。改變'6371'到'3963.1676'獲得里程。 (這是地球的半徑。) – 2012-01-16 23:56:18
謝謝,那就清除一個問題。 – user794846 2012-01-17 00:05:00