在纬度和经度范围内搜索记录

时间:2014-02-17 09:11:40

标签: php sql google-maps

嗨,我正在使用这张地图

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

我可以得到所需位置的纬度和经度,我也可以得到距离(半径)。所以我有一个数据库,我的每条记录都有纬度和经度。我想在地图上选择的范围内搜索记录。 sql查询将如何工作?

为了更好地解释我的每条记录都有纬度和经度。用户将选择地图,我想在所选范围内搜索记录。

1 个答案:

答案 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