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