Неточное местоположение флаттера на iPad без сигнала - PullRequest
0 голосов
/ 26 мая 2020

Я использую пакет местоположения Flutter , чтобы получить координаты положения пользователей в моем приложении. Во время тестирования iPad 4-го поколения (Wi-Fi и сотовая связь), если нет сигнала телефона, записанное местоположение очень неточно. Он сообщит либо о том месте, где я был ранее, либо о месте где-то посередине поля, в любом случае это место обычно отстает примерно на милю. Я тестировал в основном iPad, но у меня был пользователь iPhone 6 с той же проблемой. Я читал, что у iPad должен быть правильный спутниковый GPS, который используется при отсутствии сигнала телефона.

Вот функция, которую я использую для получения текущего местоположения.

Future<LocationData> _getCurrentLocation() async {
    Location location = new Location();
    bool _serviceEnabled;
    PermissionStatus _permissionGranted;
    LocationData _locationData;
    await location.changeSettings(accuracy: LocationAccuracy.high, interval: 1000);

    // Platform messages may fail, so we use a try/catch PlatformException.
    try {
      _serviceEnabled = await location.serviceEnabled();
      if (!_serviceEnabled) {
        _serviceEnabled = await location.requestService();
        if (!_serviceEnabled) {
          return null;
        }
      }

      _permissionGranted = await location.hasPermission();
      if (_permissionGranted == PermissionStatus.denied) {
        _permissionGranted = await location.requestPermission();
        if (_permissionGranted != PermissionStatus.granted) {
          return null;
        }
      }

      _locationData = await location.getLocation();
    } on PlatformException catch (e) {
      print(e.message);
      return null;
    }
      return _locationData;
  }

await location.getLocation () кажется, совсем не занимает времени, чтобы получить местоположение, когда нет сигнала телефона, и я ожидал бы, что потребуется мгновение или два, чтобы получить координаты GPS. На устройстве Android (Moto G8) местоположение записывается правильно с телефонным сигналом или без него, но для его определения требуется несколько секунд.

Я бы хотел получить более точное местоположение записывается (в пределах 50 метров или около того), или если он не может получить точное местоположение, просто вернуть null. Есть идеи?

Изменить: Я вынул сим-карту из iPad и прогулялся с ней по окрестностям, используя приложение, чтобы определить свое местоположение в нескольких местах. У iPad в это время не было доступа к Wi-Fi. Места, записанные во время этой прогулки, были намного более точными, в пределах 10-20 метров.

Во время этой прогулки с хорошими результатами определения местоположения я находился в области, которая имела бы хороший сигнал, если бы в ней находился сим . Мое предыдущее тестирование, когда местоположение было неточным, проводилось в районе, где не было телефонного сигнала. Здесь я ожидал, что вместо этого iPad будет использовать спутниковый GPS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...