Android如何获得gps Bearing

时间:2016-12-20 19:41:07

标签: android gps

我正在构建一个需要我的位置和方位的Android应用程序。

当我使用location.getBearing()时,结果为0.0

当我在房子里走动时,Google地图应用程序似乎对我有好处。我的问题是如何才能获得我的影响力,以便像谷歌地图一样完美无瑕。

我已经尝试使用之前距离至少为2米的已知位置进行计算,然后将轴承移到该位置,但它已遍布整个地方。

由于

2 个答案:

答案 0 :(得分:0)

我找到了问题的解决方案。 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locationListener);

第一个0表示再次更新之前的最短时间。通过将其设置为0,由于某种原因,gps没有得到轴承。只需将其更改为更高的数字即可解决问题。像这样; locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,2,0,locationListener);

答案 1 :(得分:0)

来自android开发者页面的

  

轴承是此设备的水平行进方向,与设备方向无关。如果设备有轴承,则保证在(0.0,360.0)范围内。

     

如果此位置没有方位,则返回0.0。

我建议您使用hasBearing()调用来确定是否可以使用轴承。

修改

我会更改requestLocationUpdates参数的合理值。请在此处阅读:https://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates

minTime和minDistance应该用于限制使用太多的设备电池。我会恭敬地建议(2000,2.0)。 (2秒或2米)