Конфигурация была обновлена для более быстрой блокировки местоположения.
Перейдите к этому, чтобы увидеть, что происходит:
BackgroundGeolocation.on('location', function(location) {
alert("Current location: " + JSON.stringify(location));
});
Это, конечно, при условии, что вы получите любое местоположение вообще.Вы должны получить хотя бы один.Тогда вам, возможно, придется переместиться на достаточное расстояние, прежде чем вы получите новое.
Вы добавили <plugin name="cordova-plugin-mauron85-background-geolocation"/>
в config.xml или установили плагин из командной строки?
Если у вас нетПосле выполнения чистой установки приложения у вас не возникнут вопросы о разрешениях, это, вероятно, причина того, что не было получено ни одного местоположения.
Кроме того, проверьте, нет ли ошибок JavaScript.
Вы можете сообщитьпроблема в GitHub, если вы еще этого не сделали.
Это конфигурация, которую я использую в данный момент:
var options = {
locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER,
desiredAccuracy: BackgroundGeolocation.MEDIUM_ACCURACY),
stationaryRadius: 25,
distanceFilter: 20,
notificationTitle: 'Tracking position in the background',
notificationText: 'enabled',
debug: false,
interval: 10000,
fastestInterval: 5000,
activitiesInterval: 5000,
stopOnTerminate: false,
startOnBoot: false,
startForeground: true,
pauseLocationUpdates: false,
stopOnStillActivity: true,
saveBatteryOnBackground: false
И это в config.xml:
<plugin name="cordova-plugin-mauron85-background-geolocation">
<variable name="GOOGLE_PLAY_SERVICES_VERSION" value="11+" />
<variable name="ANDROID_SUPPORT_LIBRARY_VERSION" value="23+" />
<variable name="ALWAYS_USAGE_DESCRIPTION" value="The app needs background location tracking" />
<variable name="MOTION_USAGE_DESCRIPTION" value="Accelerometer use increases battery efficiency by intelligently toggling location tracking" />
</plugin>
и вот что я извлекаю в событии местоположения:
var timestamp = position.time;
var latitude = position.latitude;
var longitude = position.longitude;
var accuracy = position.accuracy;
var altitude = position.altitude;
var speed = position.speed;
var heading = position.bearing;