Android根據經緯度計算距離?

Android提供LocationManager和Location,可以方便的獲得經緯度、海拔等位置。使用LocationManager來獲得位置管理類,從而可以獲得歷史GPS資訊以及位置變化的監聽註冊;使用Location來獲得具體的位置資訊

工具/原料

eclispe

方法/步驟

實現根據經緯度計算距離

利用google map的經緯度到距離計算的js指令碼,將球面弧長的公式給還原出來(估計這個公式是經過部分修正的),還原出來的公式如圖1 :

對圖1的公式解釋如下:

公式中經緯度均用弧度表示,角度到弧度的轉化應該是很簡單的了吧,若不會,依然請參考這個這個經緯度算距離的工具;

Lat1 Lng1 表示A點緯度和經度,Lat2 Lng2 表示B點緯度和經度(不要弄錯順序);

a = Lat1 – Lat2 為兩點緯度之差 b = Lng1 -Lng2 為兩點經度之差;

6378.137為地球半徑,單位為公里;

計算出來的結果單位為公里;

matlab實現

function d = distance(lat1, lng1, lat2, lng2)

EARTH_RADIUS = 6378.137;

a = lat1*pi/180 - lat2*pi/180;

b = lng1*pi/180 - lng2*pi/180;

d = EARTH_RADIUS*2*asin(sqrt(sin(a/2)^2) + cos(lat1*pi/180)*cos(lat2*pi/180)*sin(b/2)^2);

Android根據經緯度計算距離 聽語音

Android根據經緯度計算距離 聽語音

相關問題答案