嗨,我正在使用这张地图
https://google-developers.appspot.com/maps/articles/mvcfun/step6
我可以得到所需位置的纬度和经度,我也可以得到距离(半径)。所以我有一个数据库,我的每条记录都有纬度和经度。我想在地图上选择的范围内搜索记录。 sql查询将如何工作?
为了更好地解释我的每条记录都有纬度和经度。用户将选择地图,我想在所选范围内搜索记录。
答案 0 :(得分:0)
我一直这样做的方法是使用maps api绘制一个具有所需半径的圆,找到该圆的lat长边,然后查询数据库:
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