2016-12-27 3 views
0

Я новичок в Android. Я использую следующий код, но иногда в Location change не вызывается, и объект Location возвращает null ... Или иногда он становится только ближайшим значением, но мне нужно точно такое же, как отслеживание кабины OLA.Как я могу найти точное местоположение currenct, используя только GPS

Мой код следующим

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 "); 

ответ

0

Местоположение может быть приобретен в основном два типа провайдеров:

  • Network Provider: Вы можете получить местоположение из любой точки мира, но точность может быть ужасно.
  • GPS-провайдер: Вы получите точное местоположение, но вам нужно выйти наружу, чтобы получить место, иначе вы получите нуль.

Таким образом, вы можете использовать как по точности, доступности и эффективности с помощью Критерии. Вот отрывок из моего проекта code-

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 Play API, который рекомендованные Google. Вот лучший пример, который я получил в отношении Google Play/Fused API. http://www.androidhive.info/2015/02/android-location-api-using-google-play-services/

+0

Спасибо tahsinRupam, я пробовал этот код, и я могу получить его. Но это не точно, это почти в 200 метрах от моего местоположения, и мне нужен только провайдер GPS. – Skyvin

+0

Мое удовольствие, Skyvin. Хотел бы я помочь тебе больше! Проверьте данную ссылку в моем отредактированном ответе. Fused Api - это новейшая технология и быстрее, чем прежнее местоположение Android. Вы можете попробовать. – tahsinRupam

+0

ok спасибо tahsinRupam Я попробую – Skyvin