解决方案 »

  1.   

    首先获取指定位置的坐标,根据圆心坐标画一个半径为多少公里的圆记得百度地图应该有这个功能,然后就是要找出数据库里在这个圆里面的坐标啦,百度地图api里应该有求两个坐标点的距离的方法,依次算出数据库里的坐标和用户指定的点的距离,如果小于指定的半径就在这个圆里面.显示出来.
      

  2.   

    但是数据库里面会有大量的数据,要是每条数据都去调用百度API算一下在不在这个范围内,那得搞多久!!每个坐标都比一下??
      

  3.   

    但是数据库里面会有大量的数据,要是每条数据都去调用百度API算一下在不在这个范围内,那得搞多久!!每个坐标都比一下??从你目前的描述来看是要这样的,但是为了避免全部都比较,你可以给你数据库里面存的这些点加上一些标记,比如你选取的位置在北京,你所要比较的点取北京的就行了,其他城市就没必要比了,当然这只是一个思路,还要考虑到这个圆如果跨省市了怎么比,反正想减少比较次数就需要有一些标示,能够在比之前就过滤掉多余的点,具体的分析还要结合你实际的需求,比如划定的圈是否有限制,你的这些点表示的是什么,有没有什么特殊属性可以用来过滤,还有你数据库里的点的数量等,既然你能想到太多怎么办,应该继续往下想怎么过滤,测试怎么能达到满意的效率