频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android给定坐标计算距离
2015-07-18 09:49:02         来源:a535182324的专栏  
收藏   我要投稿

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

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;  
	    }


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

点击复制链接 与好友分享!回本站首页
相关TAG标签 坐标
上一篇:Android Studio中如何引用图片资源
下一篇:Android开发中应该注意的事项
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站