【问题标题】:Android Location Manager IssueAndroid 位置管理器问题
【发布时间】:2011-11-30 09:12:57
【问题描述】:

从下面的代码中,我得到了当前位置。

Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
GlobalLocation = locationManager.getLastKnownLocation(provider);
locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);

获得位置后,我在 Google 地图上绘制位置叠加层,并从位置提供者那里决定位置叠加层的颜色。下面是根据 Location Provider 决定颜色的代码。

    Serviceprovider = GlobalLocation.getProvider();
    if(Serviceprovider.equals("network"))
    {
         positionOverlay.iColor = 2;
    }//End if
    else if(Serviceprovider.equals("gps"))
    {
         positionOverlay.iColor = 1;
    }//End else if

在室外一切正常,但问题是,如果我在 GPS 不稳定的室内使用我的应用程序。提供者不使用network。网络提供商仅在 GPS 关闭时执行。能否请您指导我,如果 GPS 不稳定,我该如何决定在网络上的跳转。

【问题讨论】:

    标签: android gps location status


    【解决方案1】:

    这个问题之前已经回答过了。您需要添加两个不同的位置侦听器。一种用于 GPS,另一种使用网络位置。基于蜂窝网络的位置监听器。

    GPS 只能在室外工作,但蜂窝网络可以在有信号的任何地方工作,但它不如 GPS 准确。

    locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
                locationListener = new MyLocationListener();
                locationListener2 = new MyLocationListener();               
                locationManager.requestLocationUpdates(locationManager.GPS_PROVIDER, 0, 0, locationListener);
                locationManager.requestLocationUpdates(locationManager.NETWORK_PROVIDER, 0, 0, locationListener2);
    

    【讨论】:

    • 我如何才能确定哪个提供商提供位置??
    • @Arman 您基本上添加了两个侦听器,并且两个侦听器之一将获取您的位置。雷诺在下面的回答有一个很好的指导。看看吧。
    【解决方案2】:

    获得修复后,请使用Location.getProvider() 了解使用了哪个提供程序。

    使用这个elaborate article 来决定哪个LocationProvider 是最好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多