首页
学习
活动
专区
圈层
工具
发布

java根据经纬度计算距离_java根据高德经纬度获取地区

实现方式还是比较简单的,首先用户在APP上开启定位权限,将自己的经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内的所有用户。...那么,如何java如何计算两个经纬度之间的距离呢?有两种方法,误差都在接受范围之内。 1、基于googleMap中的算法得到两经纬度之间的距离,计算精度与谷歌地图的距离精度差不多。...Math.pow(Math.sin(b / 2), 2))); s = s * EARTH_RADIUS; s = Math.round(s * 10000) / 10000; return s; } 2、计算中心经纬度与目标经纬度的距离...(米) /** * 计算中心经纬度与目标经纬度的距离(米) * * @param centerLon * 中心精度 * @param centerLat * 中心纬度 * @param targetLon...两点相距:” + dist2 + ” 米”); } 其中:1.两点相距:14.0 米 2.两点相距:15.924338550347233 米 由此可见,这两种方法误差都不算大,如此java就能计算出两个经纬度直接的距离

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java根据经纬度获取两点之间的距离

    Java根据经纬度获取两点之间的距离,最近在实现类似于钉钉打卡签到的需求,因为对精度要求不是很高,所以可以通过一个球面距离的公式来求两点距离,这里将地球当成一个球体,实际上地球是一个不规则的球体,所以这个实现方法只能适用一些精度要求不高的需求...实现思路 先新增一个配置页面,调用百度地图,保存好经纬度数据到数据库表,同时也保存距离 手机打卡获取当前位置的经纬度数据,通过接口对比,计算两点距离是否在配置的打卡范围内 代码实现 写一个实体类,传入经纬度信息...Integer> resultResponse = ResultResponse.getSuccessfulResultResponse(AppConsts.NO_IN_GPS_RANGE); // 获取配置...Objects.isNull(gpsAddress.getRangeNum())) { continue; } // 主要复制经纬度信息...sourceParam = BeanUtil.copyProperties(queryDto, PositionParam.class); // 这个是数据库保存的打卡范围,经纬度信息

    60910

    Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称

    在Android中,可以通过以下步骤获取图片的经纬度信息以及根据这些经纬度信息获取对应的地点名称。这里主要涉及两部分:从图片中提取地理位置信息(经纬度)和通过地理位置信息获取地点名称。 1....build.gradle中引入相关依赖: dependencies { implementation 'androidx.exifinterface:exifinterface:1.3.3' } 获取经纬度...根据经纬度获取地点名称 可以使用Google Maps Geocoding API或者Android的Geocoder类来进行反向地理编码,将经纬度转换为人类可读的地址。...使用Geocoder类 Geocoder类提供了简单的接口,用于根据经纬度获取地址信息。...完整流程如下: 从图片中提取经纬度信息。 根据得到的经纬度信息使用Geocoder获取对应的地址信息。

    87110

    根据 IP 地址定位经纬度

    简介 IP - 地址 的映射本质上只要建立一个字典就好了,但是数据量还是很大的,有专门的机构已经做了相关的工作,我们可以使用这些 API 进行查表获取信息 已知的工具: ip-api 百度地图 API...腾讯地图 API IP 数据云 API IP-API IP-API 有公用的 API 可以免费提供 IP 全球定位查询功能 使用方法 通过访问如下地址可以获取 IP 对应的地址信息...如您需要通过IPv6来获取位置信息,请提交工单申请。 string 可选 ak 开发者密钥,可在API控制台申请获得 string 必填 sn 若用户所用AK的校验方式为SN校验时该参数必填。...其他AK校验方式的可不填写 string 可选 coor 设置返回位置信息中,经纬度的坐标类型,分别如下: coor不出现、或为空:百度墨卡托坐标,即百度米制坐标 coor = bd09ll:百度经纬度坐标...street":"","street_number":""},"point":{"x":"121.48053886","y":"31.23592904"}},"status":0} 文字乱了码了,但是可以看到经纬度是对的

    6.4K31

    Android获取经纬度

    获取经纬度一般有两种方法 通过集成第三方(百度、高德)来获取 通过Android自带的API来获取 那么今天我就来写一下第二种通过Android自带的API来获取经纬度的方法: 首先经纬度需要用户授权...= location.getLatitude(); //获取经度 double lng = location.getLongitude(); 通常情况下到这里我们已经通过Android自带的API获取到了经纬度...,但是有的时候会获取不到,或者我们需要获取连续的点位信息,下面我就来写一下如何获取连续的点位信息,同时我们可以通过这种方式来避免获取点位失败的问题。...请确认已开启定位权限并选择定位模式为GPS、WLAN和移动网络", Toast.LENGTH_SHORT).show(); } return location; } 好了,Android获取经纬度就写到这里...,以后如果仅仅是获取经纬度的话可以不用集成第三方的东西了,希望对大家有所帮助。

    3.4K30
    领券