Как работает подключаемый модуль геолокации Кордовы?

Я создаю приложение (на Android и iOS), которому требуется текущее местоположение устройства, используя ionic framework (cordova, ionic, angular ). Для этого я пытался использовать подключаемый модуль геолокации Кордовы. Во время своего исследования я обнаружил, что ребята из Cordova отказались от встроенной реализации геолокации, потому что геолокация браузера была намного более эффективной ЗДЕСЬ < / а>. Я надеялся, что это причина, по которой при создании своего приложения файл config.xml не содержал

<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
  </feature>

Но при внедрении плагина в моем приложении, плагин, казалось, очень хорошо определял местоположение, когда мой GPS был включен, но он не мог определить местоположение, когда мой GPS был выключен. Что мне совершенно противоречит интуиции. Что мне здесь не хватает? Я неправильно понял, когда они сказали, что не рекомендуют плагин геолокации для Android? Я хочу знать, что именно происходит, когда плагин геолокации запрашивает местоположение устройства.

Заранее спасибо.


person aayush shrestha    schedule 12.12.2014    source источник
comment
Привет, Ааюш, мой ответ оказался для тебя полезным?   -  person Adam    schedule 24.12.2014


Ответы (1)


Похоже, геолокация только выполняется с помощью GPS, а не с помощью Wi-Fi или сотовой триангуляции.

Документы

В плагине есть параметр для enableHighAccuracy. Option Docs

Ошибка Android: Ошибка Android

Сравните 3 метода определения местоположения

Чип GPS подключается напрямую к спутникам. Сотовая триангуляция использует сигнал вашего телефона. Он используется, например, в некоторых службах экстренной помощи, чтобы определить ваше местонахождение путем триангуляции, насколько далеко ваш телефон находится от вышек. Вот интересная статья Reddit о сравнении GPS и триангуляции соты. . Wi-Fi также может повысить точность определения местоположения: см. два обсуждения о том, как Google это делает.

Суммируя

Есть две проклятые, если да, и проклятые, если нет:

  1. Ошибка: если enableHighAccuracy не установлено в значение true, эмулятор ничего не вернет; не имеет значения, включен ли у вас GPS или нет.
  2. Высокая точность: поскольку вы хотите, чтобы эмулятор работал, вы устанавливаете enableHighAccuracy в значение true, но это будет означать, что вы должны оставить GPS включенным.
person Adam    schedule 14.12.2014