2015-05-23 159 views
-4

我正在嘗試創建一個Android應用程序,該應用程序向我提供我移動的每2米的位置更改更新。我使用的Api是:計算從一個GPS座標到另一個座標的距離?

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, (float)2, locationListener); 

我能夠計算兩個座標與半正定公式之間的距離。
我想知道我在緯度和縱向上移動了多少距離。 我的意思是,我想知道以前位置的delta(x)delta(y)(以米爲單位)。我與我在一起currentLat,currentLong,previousLat,previousLong

例如:我正在以下GPS座標在我的應用程序:

Latitude: 12.9812007 Longitude: 77.74348163 
Latitude: 12.98119122 Longitude: 77.74348192 
Latitude: 12.98118058 Longitude: 77.74348131 
Latitude: 12.9812041 Longitude: 77.74350371 
Latitude: 12.98119337 Longitude: 77.74350154 
Latitude: 12.98117935 Longitude: 77.74350156 
Latitude: 12.9811742 Longitude: 77.74349111 
Latitude: 12.98116478 Longitude: 77.74348577 
Latitude: 12.98114454 Longitude: 77.7434776 
Latitude: 12.98113244 Longitude: 77.74347141 
Latitude: 12.98112247 Longitude: 77.74346629 
Latitude: 12.98111381 Longitude: 77.74347568<br/> 
Latitude: 12.98112889 Longitude: 77.74348118 
Latitude: 12.9811384 Longitude: 77.74348133 
Latitude: 12.98114325 Longitude: 77.74346866 
Latitude: 12.9811306 Longitude: 77.74345533 
Latitude: 12.98112043 Longitude: 77.74344925 
Latitude: 12.98110867 Longitude: 77.74344979 
Latitude: 12.98109571 Longitude: 77.74345256 
Latitude: 12.98110153 Longitude: 77.74346184 
Latitude: 12.98111135 Longitude: 77.74346482 
Latitude: 12.98112283 Longitude: 77.74346764 
Latitude: 12.98113165 Longitude: 77.74347133 
Latitude: 12.98114311 Longitude: 77.74347645 
Latitude: 12.98115332 Longitude: 77.74348057 
+0

是什麼問題? – Apurva

+0

把它作爲評論,因爲這只是一個解決方法:如果你設置了一個很好的方法來計算真實的距離,繼續使用它來得到你想要的,併爲你的delta(x)傳遞2長的0 .. 。對於三角洲(Y)通過2拉特的0 ....爲了什麼值得... ;-) – JBA

回答

0

如果你想知道兩個位置之間分別緯度差異和縱向差異那麼你應該嘗試下面給出的解決方案。

如果你有

currentLat = 12.98119122 currentLong = 77.74348192 

previousLat = 12.9812007 previousLong = 77.74348163 

然後找到latDifference使用,

haversine(double currentLat, double previousLong, double previousLat, double previousLong) 

這會給你的緯度差的兩個位置之間,並找到longDifference使用,

haversine(double previousLat, double currentLong, double previousLat, double previousLong) 

我假設你知道haversine公式,就像你在你的問題中所說的那樣。

編輯:

要找到latDifference使用相同的值當前經度和緯度以前

,並找到longDifference使用相同的值在haversine公式當前的緯度和經度以前。

+0

這是一個好主意。謝謝 :) – muchumanoj