Поставщики местоположения в Android?
-
27-09-2019 - |
Вопрос
Мое приложение требует текущего местоположения пользователя. Для этого я внедрил код, и я могу получить текущее местоположение. Кодекс пытается сначала получить лучший провайдер, а затем выбрасывает информацию о местонахождении. Проблема в том, что текущее местоположение возвращается из Network_Provider, если GPS_Provider отключен. Если оба Network_Provider и GPS_Provider включены, то лучший поставщик будет GPS_Provider, и это занимает слишком много времени, чтобы получить текущее местоположение.
Итак, это в порядке, если мы установим поставщик местоположений в виде Network_Provider только так, чтобы он не имел вам неважно, включен ли GPS_Provider или нет.
Пожалуйста, дайте мне знать, какой правильный подход.
С уважением
Солнце
Решение
В зависимости от вашего приложения вы можете использовать просто местоположение сети. Это достаточно прекраснозерно для многих услуг на основе местоположения. Кроме того, вам не нужно беспокоиться о сосете аккумулятор пользователя с GPS-радио.
Но если вы действительно хотите, насколько это возможно, как можно точнее, почему бы не слушать обе провайдеры? Вы могли бы использовать getLastKnownLocation()
Способ исходного местоположения. Тогда вы можете использовать NETWORK_PROVIDER
место нахождения. Тогда, как только вы получите исправление от GPS_PROVIDER
, вы можете игнорировать или удалить прослушиватель сети.
Другие советы
GPS дает лучшую точность, чем поставщик сети.
Сетевой провайдера выполняется с использованием триангуляции клеточных башен и WiFi.
Итак, если вам нужно немедленно, начните с «последнего известного местоположения», затем переключитесь в сеть, после того, как у вас будет исправление от GPS, начните его использовать.
С уважением, Vinay.