如何仅使用GPS找到准确的电流位置

时间:2016-12-27 10:40:44

标签: android geolocation android-gps

我是Android新手。我正在使用以下代码,但有时在位置已更改未调用且位置对象返回null ...或者有时它仅获得最接近的值但我需要与OLA cabs跟踪准确相同。

我的代码如下

MyLocationListener mll=new MyLocationListener();
LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
                        LocationManager.GPS_PROVIDER, 
                        0, 
                        0,
                        mll
                        );
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
{
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) 
        Log.e("TAG","LocationDetected ");

1 个答案:

答案 0 :(得分:0)

位置可以主要由两种类型的提供者获得:

  • 网络提供商:您可以从任何地方获取位置,但准确性可能很差。
  • GPS提供商:您将获得准确的位置,但您必须到外面获取位置,否则您将获得空。

因此,您可以使用标准根据准确性,可用性和效率使用两者。这是我的项目代码的片段 -

    criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE); 
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    //get the best provider depending on the criteria
    provider = locationManager.getBestProvider(criteria, true);
    Location location = locationManager.getLastKnownLocation(provider);

为了更快,更准确地进行位置跟踪,您可以使用Google推荐的最新Google Play API。以下是我对Google Play / Fused API的最佳示例 - http://www.androidhive.info/2015/02/android-location-api-using-google-play-services/