Я строю .apk из phonegap cordova. Хочет отслеживать местоположение водителя в реальном времени на стороне клиента. Попытка реализовать то же самое с помощью следующего кода.
function onDeviceReady() {
// 1. Listen to events
var bgGeo = window.BackgroundGeolocation;
bgGeo.onLocation(function (location) {
console.log('[location] -', location);
});
bgGeo.onMotionChange(function (event) {
console.log('[motionchange] -', event.isMoving, event.location);
});
bgGeo.onHttp(function (response) {
console.log('[http] - ', response.success, response.status, response.responseText);
});
bgGeo.onProviderChange(function (event) {
console.log('[providerchange] -', event.status, event.enabled, event.gps, event.network);
});
// 2. Execute #ready method:
bgGeo.ready({
reset: true,
debug: true,
logLevel: bgGeo.LOG_LEVEL_VERBOSE,
desiredAccuracy: bgGeo.DESIRED_ACCURACY_HIGH,
distanceFilter: 10,
url: server_path + "server/tracking.php",
autoSync: true,
stopOnTerminate: false,
startOnBoot: true
}, function (state) { // <-- Current state provided to #configure callback
// 3. Start tracking
console.log('BackgroundGeolocation is configured and ready to use');
if (!state.enabled) {
bgGeo.start().then(function () {
console.log('- BackgroundGeolocation tracking started');
});
}
});
// NOTE: Do NOT execute any API methods which will access location-services
// until the callback to #ready executes!
//
// For example, DO NOT do this here:
//
// bgGeo.getCurrentPosition(); // <-- NO!
// bgGeo.start(); // <-- NO!
}
, но этот код не работает для меня. "window.BackgroundGeolocation" показывает неопределенное. Может кто-нибудь, пожалуйста, предложить решение для этого; или, если возможно, предложите какую-нибудь альтернативу.