• Android给定坐标计算距离


    给定两点的经纬度。计算两点之间的距离。这里要注意经纬度一定要依照顺序填写

    1. 利用android中的工具获得,单位是米

        

    float[] results=new float[1];
    Location.distanceBetween(latitude,longitude,Double.parseDouble(lat), Double.parseDouble(lng),results); 
    Log.i("距离", results[0]+"");

    2. 通过计算的方式获得,单位是公里

    private static final double EARTH_RADIUS = 6378.137;
    	    private static double rad(double d) {  
    	        return d * Math.PI / 180.0;  
    	    }  
    	        /** 
    	     * 依据两点间经纬度坐标(double值),计算两点间距离, 
    	     *  
    	     * @param lat1 
    	     * @param lng1 
    	     * @param lat2 
    	     * @param lng2 
    	     * @return 距离:单位为公里
    	     */  
    	    public static double DistanceOfTwoPoints(double lat1,double lng1,   
    	             double lat2,double lng2) {  
    	        double radLat1 = rad(lat1);  
    	        double radLat2 = rad(lat2);  
    	        double a = radLat1 - radLat2;  
    	        double b = rad(lng1) - rad(lng2);  
    	        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)  
    	                + Math.cos(radLat1) * Math.cos(radLat2)  
    	                * Math.pow(Math.sin(b / 2), 2)));  
    	        s = s * EARTH_RADIUS;  
    	        s = Math.round(s * 10000) / 10000;  
    	        Log.i("距离",s+"");
    	        return s;  
    	    }


  • 相关阅读:
    等宽布局和flex
    antd按需加载
    linux-redis cluster集群(redis5.x)
    linux-mysql-主从同步
    mysql-行转列
    Spring Bean 作用域
    ArrayList、LinkedList区别(jdk8)
    java类及实例初始化顺序
    线程池-结构
    GIT基础
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7101417.html
Copyright © 2020-2023  润新知