2014-02-17 195 views
1

你好我用這個地圖搜索記錄

https://google-developers.appspot.com/maps/articles/mvcfun/step6

我可以得到所需要的位置的經度和緯度還我能得到的距離(半徑)。所以我有一個數據庫,其中我的每個記錄都有經度和緯度。我想在地圖上選擇的範圍內搜索記錄。 SQL查詢如何工作?

爲了更好的解釋我的每條記錄都有經緯度。用戶將選擇地圖,我想在選定範圍內搜索記錄。

+0

如果距離你的半徑,從你的點到每條記錄的距離小於你的半徑顯示它。 –

+0

你知道你想要做什麼。你寫的查詢是什麼? – Kuzgun

+0

@SatishSharma - 什麼是geode上的距離計算?你如何避免每個查詢的全表掃描? – MatBailie

回答

0

我一直做這個問題的方法是使用地圖API來繪製所需半徑的圓,找到這個圈子的Lat Long網邊界,然後查詢數據庫:

SELECT * FROM yourtable WHERE lat BETWEEN a AND c AND lng between b AND d 

其中A和b是左上角座標,c和d是右下角。 (more information available here)

既然你已經在你的邊界框內有所有的對象,你將需要將它們傳回到你的前端並確定它們是否在你的半徑內。 See this answer for more information