2016-03-09 3 views
0

У меня есть приложение cordova, которое использует плагин геолокации. Я пытаюсь использовать внешнюю антенну Bluetooth (Garmin GLO), чтобы иметь более точную геолокацию. код сам по себе является относительно простым (например, идентичной http://terokarvinen.com/2015/gps-geolocation-in-cordova-and-android для всех намерений и целей) с помощью:Доступ к макету Bluetooth GPS-координаты в геолокации cordova

navigator.geolocation.getCurrentPosition(geolocationSuccess,[geolocationError],[geolocationOptions]); 

С другими приложениями, чтобы использовать Bluetooth GPS, я просто подключиться к Bluetooth GPS с помощью Bluetooth Приложение GPS (https://play.google.com/store/apps/details?id=googoo.android.btgps&hl=fr), которое имеет Mock Provider для «замены» внутреннего GPS. Заранее, я, конечно, соединяю GPS, включаю макет местоположения в настройках разработки и т. Д. Затем данные геолокации Bluetooth-GPS используются вместо внутреннего GPS через макет провайдера.

Однако, когда я пытаюсь сделать то же самое с моим приложением cordova, макет местоположения не используется и не получено никакого местоположения (ошибка тайм-аута). Права доступ используется:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 

Я использовал Cordova-плагин-макет расположение, чтобы проверить макет местоположения включено в моем приложении, и это. Я пробовал кордону-плагин-расширенную геолокацию вместо другой, но та же проблема возникает (нет возврата от макет провайдера).

Как использовать приемник в своем приложении с помощью Mock GPS Provider? Спасибо за помощь!

ответ

3

Если кто-то еще сталкивается с подобной проблемой, я, наконец, смог заставить его работать с помощью плагина GPSLocation (https://github.com/louisbl/cordova-plugin-gpslocation), который использует собственный код вместо HTML5 вместо плагина Geolocation (https://github.com/apache/cordova-plugin-geolocation).

По какой-то причине плагин базовой геолокации, по-видимому, «замораживает» запросы местоположения, когда активное местоположение местоположения GPS является активным: когда дефолт отключен, многочисленные запросы геолокации, сделанные во время макета, только тогда, кажется, отправляются, и onSuccess получив.

Надеюсь, это поможет!

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