我有一個網站,我已經創建出售本地物品,如果免費供所有人使用。但我現在已經遇到了一個小問題!現在,人們形成了更遠的距離,我希望他們能夠通過距離他們的距離搜索和點亮所有物品,並且/或者查看他們區域中的所有物品。按距離對結果列表進行排序
我一直在收集每個人的郵政編碼並將它們轉換爲東經和北經的座標,而不是緯度經度。
創建一個新的recodset在飛行中做最好的方式做距離calc然後按距離排序還是有更好的方式,將使用較少的資源在網站上?
下面是答案
strSQL = "SELECT *, (3959 * acos(cos(radians(" & strMyLat &
")) * cos(radians(Latitude)) * cos(radians(Longitude) - radians(" & strMyLng &
")) + sin(radians(" & strMyLat &
")) * sin(radians(Latitude)))) AS distance FROM TABLE WHERE HAVING distance < 3;" '## 3 Miles
我一直想知道很長一段時間。好的問題+1 –
就我個人而言,我更喜歡緯度/經度座標,因爲那些通常更「標準」(特別是通過諸如各種基於網絡的地圖之類的東西進行常見曝光)。另外,根據電網規模,您可能會失真。你的數據庫後端是什麼?有些RDBMS具有內置的地理類型(或擴展),因此您可以利用數據庫的全部功能來執行選擇/排序。 –
這是一個使用PHP tho的類似帖子:http://stackoverflow.com/questions/2296087/using-php-and-google-maps-api-to-work-out-distance-between-2-post-codes-英國 – Kaf