如何将提供商Gps更改为网络以进行地理位置?

时间:2011-06-08 11:45:32

标签: android geolocation

我正在研究地理定位应用,因为我想使用Gps提供商,因为它提供的准确位置比网络提供商。但有时室内gps信号没有到达那么我想使用网络提供商。每当Gps信号没有达到那个时间我想使用网络提供商。如何在这些提供商之间切换?

谢谢, Vishakha。

3 个答案:

答案 0 :(得分:0)

查看http://developer.android.com/guide/topics/location/obtaining-user-location.html处的样本。

如果使用onStatusChanged方法暂时无法使用位置提供程序,则会通知locationListener。

答案 1 :(得分:0)

如果你有一个打开或关闭变量的按钮,你可以在这样的提供者之间切换(抱歉这是伪代码)。

if (GPSisOff){
   LocationProvider locationProvider = LocationManager.NETWORK_PROVIDER;
} else {
   LocationProvider locationProvider = LocationManager.GPS_PROVIDER;
}

此外,这取决于您是否希望它自动检测。如果是这种情况,您可能需要检查当前locationProvider的位置返回(无论是GPS还是网络)并确定其准确程度并进行相应切换。

答案 2 :(得分:0)

您可以做的另一件事是为gps和网络提供商使用相同的LocationListener。因此,您可以同时启用两者,而不是仅使用gps或仅使用网络,以便您的应用程序的LocationListener将从两个提供程序(或唯一可用的,如果另一个无法提供更新)接收位置更新。