2015-05-23 126 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