Php 在经纬度范围内搜索记录
嗨,我在用这张地图 我可以得到所需位置的纬度和经度,也可以得到距离(半径)。所以我有一个数据库,每个记录都有纬度和经度。我想在地图上选定的范围内搜索记录。sql查询将如何工作Php 在经纬度范围内搜索记录,php,sql,google-maps,Php,Sql,Google Maps,嗨,我在用这张地图 我可以得到所需位置的纬度和经度,也可以得到距离(半径)。所以我有一个数据库,每个记录都有纬度和经度。我想在地图上选定的范围内搜索记录。sql查询将如何工作 为了更好地解释,我的每条记录都有一个纬度和经度。用户将选择地图,我希望搜索所选范围内的记录。我一直使用的方法是使用地图api绘制一个具有所需半径的圆,找到该圆的横向边界,然后查询数据库: SELECT * FROM yourtable WHERE lat BETWEEN a AND c AND lng between b
为了更好地解释,我的每条记录都有一个纬度和经度。用户将选择地图,我希望搜索所选范围内的记录。我一直使用的方法是使用地图api绘制一个具有所需半径的圆,找到该圆的横向边界,然后查询数据库:
SELECT * FROM yourtable WHERE lat BETWEEN a AND c AND lng between b AND d
其中a和b为左上角坐标,c和d为右下角坐标
既然所有对象都在边界框内,则需要将它们传递回前端,并确定它们是否在半径内 获取你的点到每条记录的距离,如果它在你的半径范围内,则意味着小于你的半径。显示它。你知道你要做什么。你写的查询是什么?@SatishSharma-那么测地线上距离的计算是什么?如何避免对每个查询进行全表扫描?@Matbaile距离可以通过简单的两点之间距离数学计算得出。是的,它会减慢进程,因为它会获取每条记录并计算与之之间的距离。@MatBailie bro我想和你讨论一下,如果我们使用一个过程来处理它。我们能用它吗?它会提高性能吗?