2014-02-17 152 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