2011-01-10 223 views

回答

5

這是一個很好的資源做一些事情:code.google.com/apis/maps/articles/phpsqlsearch.html#findnearsql

基地城市:     緯度:37       LNG:-122

SELECT id, (6371 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance FROM markers HAVING distance < 50 ORDER BY distance LIMIT 0 , 20; 

與「Tricker」解決方案的原理相同。

+0

你剛剛顯示我需要..謝謝哥們...其實我很懶惰...只是需要小腳本做大事... – saikat 2011-01-10 14:21:10

0

我寫的一種計算座標之間距離的腳本。你可以做到這一點,當你有2個座標:

base : 
- latitude 
- longitude 

city : 
- latitude 
- longititude 

你必須在基地城市地理COORDS通過,那麼你需要捲曲發送給谷歌或雅虎服務器(取決於你想你該地址解析器API )獲得城市協調。

現在它的問題來自哪個城市嗎?如果你沒有,你可以購買一個郵編區域數據庫(然後你可以讓你的座標離開你想要的城市)。當你有來自城市的座標時,你可以運行一個複雜的計算,因爲距離。之後,您可以查看結果/距離是大於還是小於50.如果較小,您可以將它作爲範圍內的城市返回。

這不是你在幾分鐘內

+0

嗯多數民衆贊成在有趣的...我會嘗試這一個...感謝您的答覆... – saikat 2011-01-10 11:00:40