2014-10-30 2 views
0

Я использую метод LocationClient для извлечения текущего местоположения пользователя. Он работает достаточно хорошо, но иногда это не точно по понятным причинам, например (я внутри, используя WIFI и т. Д.). Я хотел бы знать, существует ли определение того, какой поставщик местоположения используется для извлечения местоположения. getProvider() возвращает «слитый» независимо от того, находится ли я внутри или снаружи. Мне просто нужно сказать пользователю, что он не получает точное местоположение, вероятно, потому, что он внутри. Еще лучше сообщите пользователю, какой поставщик используется для извлечения его местоположения.Определение поставщика местоположения - Android

+0

вы можете использовать значение 'getAccuracy', чтобы выяснить, есть ли у вас точное местоположение или нет. – njzk2

+0

@ njzk2: Есть ли алгоритм или правило большого пальца, которое может определять, что использовалось для возвращения местоположения? – programmerboy

ответ

0

Вы можете проверить, если поставщик доступен с использованием isProviderEnabled метода:

 mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) 
     mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) 
+0

Спасибо за ответ. Ваш код проверяет, включены ли эти поставщики. Мой вопрос немного отличается от вашего ответа :) – programmerboy

0

Проверьте ниже кода для получения списка провайдера местоположения -

List<String> matchingProviders = locationManager.getAllProviders(); 
for (String provider: matchingProviders) { 
    Location location = locationManager.getLastKnownLocation(provider); 
    if (location != null) { 
    float accuracy = location.getAccuracy(); 
    long time = location.getTime(); 

    if ((time > minTime && accuracy < bestAccuracy)) { 
     bestResult = location; 
     bestAccuracy = accuracy; 
     bestTime = time; 
    } 
    else if (time < minTime && 
      bestAccuracy == Float.MAX_VALUE && time > bestTime){ 
     bestResult = location; 
     bestTime = time; 
    } 
    } 
} 

Надеются, что это помогает вам.

+0

Спасибо за ответ. Я уже использую что-то подобное (Рекомендуемый способ получения Лучшего местоположения в Google Рекомендуем). Мой вопрос немного другой :) – programmerboy

Смежные вопросы