【问题标题】:how to change provider Gps to Network for geo location?如何将提供商 Gps 更改为网络以获取地理位置?
【发布时间】:2011-06-08 11:45:31
【问题描述】:

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

谢谢, 维沙哈。

【问题讨论】:

    标签: android geolocation


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      通过http://developer.android.com/guide/topics/location/obtaining-user-location.html查看示例。

      如果使用 onStatusChanged 方法此时位置提供程序不可用,则会通知您的 locationListener。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-11
          • 2011-10-10
          • 1970-01-01
          • 2013-12-19
          • 1970-01-01
          • 1970-01-01
          • 2012-02-22
          • 1970-01-01
          相关资源
          最近更新 更多