路線規劃提供了獲取路線距離的方法,見mkrouteplan 類的 getdistance 方法。
如果是計算任意兩點的距離,自2.0.0版本開始,android sdk為開發者提供了計算距離的介面(distanceutil),具體使用方法如下:
geopoint p1ll = new geopoint(39971802, 116347927);
一、利用勾股定理計算,適用於兩點距離很近的情況;geopoint p2ll = new geopoint(39892131, 116498555);
double distance = distanceutil.getdistance(p1ll, p2ll);
二、按標準的球面大圓劣弧長度計算,適用於距離較遠的情況;
static double def_pi = 3.14159265359; // pi
static double def_2pi = 6.28318530712; // 2*pi
static double def_pi180 = 0.01745329252; // pi/180.0
static double def_r = 6370693.5; // radius of earth
/*** 第一種方式,按勾股定律求結果
* @param lon1
* @param lat1
* @param lon2
* @param lat2
* @return
* todo [email protected]
*/public double getshortdistance(double lon1, double lat1, double lon2,
double lat2)
/*** 第二種方式,按大圓劣弧求距離
* @param lon1
* @param lat1
* @param lon2
* @param lat2
* @return
* todo [email protected]
*/public double getlongdistance(double lon1, double lat1, double lon2,
double lat2)
//以下是測試
double mlat1 = 39.90923; // point1緯度
double mlon1 = 116.357428; // point1經度
double mlat2 = 39.90923;// point2緯度
double mlon2 = 116.397428;// point2經度
double distance = getshortdistance(mlon1, mlat1, mlon2, mlat2);
mysql 下 計算 兩點 經緯度 之間的距離
公式如下,單位公尺 第一點經緯度 lng1 lat1 第二點經緯度 lng2 lat2 round 6378.138 2 asin sqrt pow sin lat1 pi 180 lat2 pi 180 2 2 cos lat1 pi 180 cos lat2 pi 180 pow sin lng...
給定經緯度計算距離 根據兩點經緯度計算距離
根據兩點經緯度計算距離 這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地 球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩 極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯 圈 構成這些圓圈的...
計算兩經緯度之間的距離
今天有個任務是在請求商家詳情的時候需要求使用者離商家的距離 也就是計算兩經緯度之間的距離,套用了下面的公式解決了問題 public class distance private final static double pi 3.14159265358979323 圓周率 private final ...