Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android給定坐標計算距離

Android給定坐標計算距離

編輯:關於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;  
	    }


 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved