java - 检查 geoFence 内的 Geopoint 和 Java 中的距离

标签 java algorithm google-maps geolocation

我是 Java 新手。我创建了一个圆形的地理围栏。我知道中心(纬度,经度)点和半径(以米为单位)。我想检查一个地理点(即纬度、经度)是否在这个栅栏内,如果是,我想找到该地理点到中心点之间的距离。我怎样才能在java中做到这一点。在 mysql 中,有一个查询可以执行此操作

 SELECT tripid,create_time, ( 6371 * acos( cos( radians(8.475316) ) * cos(    
radians(lattitude ) ) * cos(
radians( longitude ) - radians(76.962528) ) + sin( radians(8.475316) ) * sin(  
 radians( lattitude ) ) ) ) AS
 distance
FROM pack_history where speed<5 and tripid=685  HAVING distance < 0.10 ORDER BY       
create_time desc LIMIT 0 ,100;

我怎样才能在Java中实现类似的功能? enter image description here

最佳答案

您只需要一个计算两个纬度/经度坐标之间的距离的方法。 (在SO或互联网上搜索,这很容易找到)。
如果距离 < r 则该点在圆内。

关于java - 检查 geoFence 内的 Geopoint 和 Java 中的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14515093/

相关文章:

java - 带有样式 block 的 JTextField

java - 使用react.js对象发送空值的POST请求

java - ACS 请求 URL :using onelogin toolkit 中的 SAMLResponse 为空

ios - 这是洗牌的充分方法吗?

c# - 谷歌地图信息窗口显示以前的地理结果而不是当前结果

android - 标记聚类在 Android 中不显示标记?

java - 我的代码的 For 循环出错?

python mmap 正则表达式在两个文件中搜索公共(public)条目

javascript - 谷歌地图 V3 setDirections() 回调

algorithm - 如何将这种递归解决方案转换为迭代解决方案?