LBS根据经纬查看附近商家的实现

现在大多基于地图的应用都有查看附近商家的实现,之前在网上看到别的一些方法,大多是去数据库中查看每条数据库记录的lbs经纬度,然后跟当前经纬度计算距离,在某个范围内的则是周围商家。  数据库记录小还好,如果数据库非常庞大,每条都要做对比,岂不是很耗性能?  地球是圆形,每条纬度不等长。   一 :如果我们把每条数据库记录lbs信息抽取到一个集合(数组),然后根据当前位置以及距离(假设周围
摘要由CSDN通过智能技术生成

          

       转载请注明出处:http://blog.csdn.net/yianemail/article/details/47130525


           现在大多基于地图的应用都有查看附近商家的实现,之前在网上看到别的一些方法,大多是去数据库中查看每条数据库记录的lbs  经纬度,然后跟当前经纬度计算距离,在某个范围内的则是周围商家。

        数据库记录小还好,如果数据库非常庞大,每条都要做对比,岂不是很耗性能?

        地球是圆形,每条纬度不等长。

         一 :

         如果我们把每条数据库记录lbs信息抽取到一个集合(数组),然后根据当前位置以及距离(假设周围3公里)算出在同一纬度,左右各三公里。然后依据左右三公里处的经度信息

  利用二分查找确定该经度在集合中的位置(或者一个合适的位置,因为集合中不一定存在该经度值)。这样只对在该范围内的商家lbs信息进行距离计算即可。看一张图:

       

                                 


       假设半径为3公里。我们只需要计算在该半径内的商店lbs信息,计算量就会少很多。

二:实现。实体类Location.java



                
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值