安卓基于百度地图计算两个经纬度点的直线距离并只保留两位小数

简介: 安卓基于百度地图计算两个经纬度点的直线距离并只保留两位小数

需要计算地图上两个点的直线距离,查了下百度的官方API都是计算路程距离,于是乎自己写一个,根据地球的半径等来计算两个经纬度点的直线距离,好了,废话不多说,直接上代码。


public Double Distance(double lat1, double lng1,double lat2, double lng2) {
        Double R=6370996.81;  //地球的半径
    /*
     * 获取两点间x,y轴之间的距离
     */
        Double x = (lng2 - lng1)*Math.PI*R*Math.cos(((lat1+lat2)/2)*Math.PI/180)/180;
        Double y = (lat2 - lat1)*Math.PI*R/180;
        Double distance = Math.hypot(x, y);   //得到两点之间的直线距离
        BigDecimal bg = new BigDecimal(distance);
        //保留两位小数
        Double lenth = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        return   lenth;
    }


需要传入的四个值就是经度纬度经度纬度


目录
相关文章
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
381 1
|
3月前
|
定位技术 Android开发 iOS开发
引入百度地图,安卓出现白屏问题
引入百度地图,安卓出现白屏问题
185 57
|
4月前
|
自然语言处理 定位技术 API
Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称
本文介绍如何在Android中从图片提取地理位置信息并转换为地址。首先利用`ExifInterface`获取图片内的经纬度,然后通过`Geocoder`将经纬度转为地址。注意操作需在子线程进行且考虑多语言支持。
255 4
|
7月前
|
JSON Java 定位技术
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
2000 0
|
Java 定位技术 API
Android探索之百度地图开发
Android探索之百度地图开发
|
前端开发 定位技术 Android开发
Android平台GB28181设备接入端如何实时更新经纬度实现国标平台侧电子地图位置标注
我们在做GB28181设备接入端的时候,其中有个功能,不难但非常重要:那就是GB28181实时位置的订阅(mobileposition subscribe)和上报(notify)。
175 0
|
XML Android开发 数据格式
Android GB28181接入端实时位置订阅和上报之-如何获取当前经纬度
我们在做Android平台GB28181的时候,其中实时位置(MobilePosition)订阅和上报这块,涉及到实时经纬度的获取,特别是执法记录、车载系统的那个等场景,几乎就是标配。
141 0
|
定位技术 API Android开发
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
392 0
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
|
存储 定位技术 Android开发
安卓百度地图给Marker点添加InfoWindow(弹窗)
安卓百度地图给Marker点添加InfoWindow
602 0
安卓百度地图给Marker点添加InfoWindow(弹窗)
|
Java 定位技术 开发工具
Android 百度地图SDK 自动定位、标记定位
Android 百度地图SDK 自动定位、标记定位
398 0
Android 百度地图SDK 自动定位、标记定位