2015-07-09 2 views
0

У меня есть проблема с устройствами ориентации, Ионный и Кордова/ngCordova Я уже запустить команду: «Cordova плагина добавить Cordova-плагин-устройства-ориентация» установить плагин ориентации устройства Он установлен без проблем.Ориентация устройства и Кордова

Затем добавить следующий код в моем приложении:

.controller('MyCtrl', function ($scope,$cordovaDeviceOrientation) { 
$cordovaDeviceOrientation.getCurrentHeading().then(function(result) { 
     var magneticHeading = result.magneticHeading; 
     var trueHeading = result.trueHeading; 
     var accuracy = result.headingAccuracy; 
     var timeStamp = result.timestamp; 

$scope.values=magneticHeading+" "+trueHeading+" "+accuracy+" "+timeStamp; 
    }, function(err) { 
     // An error occurred 
    }); 
    }) 

После выполнения Cordova запуска андроида я получил эту ошибку. Невозможно прочитать свойство getCurrentHeading не определено.

Я протестировал этот код в браузере, Genymotion или Samsung Galaxy Tab 4, но всегда получал ту же ошибку.

Что я делаю неправильно?

+1

Плагины Cordova предназначены для использования на реальном устройстве. Также тезисы плагинов должны использоваться в функции DeviceReady для кордовы. –

ответ

0

Возможно, у вашего устройства нет компаса.

1

Есть две вещи, которые вам нужно знать:
Первый: этот вид плагина, как и ориентация устройства, должен быть протестирован на реальных устройствах, когда он использует аппаратуру акселерометра для работы.
Во-вторых: Вы должны использовать DeviceReady EventListner использовать плагины, так, что вам нужно сделать что-то вроде этого:

document.addEventListener("deviceready", function() { 
    $cordovaDeviceOrientation.getCurrentHeading().then(function(result) { 
    var magneticHeading = result.magneticHeading; 
    var trueHeading = result.trueHeading; 
    var accuracy = result.headingAccuracy; 
    var timeStamp = result.timestamp; 

    $scope.values=magneticHeading+" "+trueHeading+" "+accuracy+" "+timeStamp; 
    }, function(err) { 
     // An error occurred 
    }); 
}, false); 

Если вы хотите, есть семена angularjs + Кордову + угловом-материал здесь: https://github.com/marioaleogolsat/cordova-angular-angularMaterial-seed

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