关于Java调用百度地图API计算以我的位置为中心半径为X公里内的存在数据库中的坐标点,求个解决方法!

zl1213330 2014-10-22 10:13:02
客户需求:
用户在地图上指定一个位置,根据这个位置画一个半径为X公里的圆
计算这个圆里面的所有存在数据库里面的点(客户的数据是以坐标点的形式存储),然后列出来,显示每个点离我多远距离
...全文
2051 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ParkerAAA 2021-08-02
  • 打赏
  • 举报
回复 1

2021年了,问题解决了吗

苏晨木 2017-01-23
  • 打赏
  • 举报
回复
同想知道这个问题怎么解决?
windows_chenwen 2016-07-21
  • 打赏
  • 举报
回复
楼主,你这个东西弄出来了没
huijieguo 2015-08-12
  • 打赏
  • 举报
回复
楼主,后来你怎么实现这个需求的?百度地图API可以实现吗?
昆卡卡 2014-10-24
  • 打赏
  • 举报
回复
引用 4 楼 zl1213330 的回复:
引用 3 楼 yyy269954107 的回复:
首先获取指定位置的坐标,根据圆心坐标画一个半径为多少公里的圆记得百度地图应该有这个功能,然后就是要找出数据库里在这个圆里面的坐标啦,百度地图api里应该有求两个坐标点的距离的方法,依次算出数据库里的坐标和用户指定的点的距离,如果小于指定的半径就在这个圆里面.显示出来.
但是数据库里面会有大量的数据,要是每条数据都去调用百度API算一下在不在这个范围内,那得搞多久!!每个坐标都比一下??
从你目前的描述来看是要这样的,但是为了避免全部都比较,你可以给你数据库里面存的这些点加上一些标记,比如你选取的位置在北京,你所要比较的点取北京的就行了,其他城市就没必要比了,当然这只是一个思路,还要考虑到这个圆如果跨省市了怎么比,反正想减少比较次数就需要有一些标示,能够在比之前就过滤掉多余的点,具体的分析还要结合你实际的需求,比如划定的圈是否有限制,你的这些点表示的是什么,有没有什么特殊属性可以用来过滤,还有你数据库里的点的数量等,既然你能想到太多怎么办,应该继续往下想怎么过滤,测试怎么能达到满意的效率
zl1213330 2014-10-23
  • 打赏
  • 举报
回复
引用 3 楼 yyy269954107 的回复:
首先获取指定位置的坐标,根据圆心坐标画一个半径为多少公里的圆记得百度地图应该有这个功能,然后就是要找出数据库里在这个圆里面的坐标啦,百度地图api里应该有求两个坐标点的距离的方法,依次算出数据库里的坐标和用户指定的点的距离,如果小于指定的半径就在这个圆里面.显示出来.
但是数据库里面会有大量的数据,要是每条数据都去调用百度API算一下在不在这个范围内,那得搞多久!!每个坐标都比一下??
Defonds 2014-10-22
  • 打赏
  • 举报
回复
先拿到你自己的经纬度,把半径折算成实际的公里就可以了
zl1213330 2014-10-22
  • 打赏
  • 举报
回复
有没有人呀?求大神
昆卡卡 2014-10-22
  • 打赏
  • 举报
回复
首先获取指定位置的坐标,根据圆心坐标画一个半径为多少公里的圆记得百度地图应该有这个功能,然后就是要找出数据库里在这个圆里面的坐标啦,百度地图api里应该有求两个坐标点的距离的方法,依次算出数据库里的坐标和用户指定的点的距离,如果小于指定的半径就在这个圆里面.显示出来.

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧