Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ngCordova的工作地理定位示例_Cordova_Ionic Framework - Fatal编程技术网

ngCordova的工作地理定位示例

ngCordova的工作地理定位示例,cordova,ionic-framework,Cordova,Ionic Framework,ngCordova和Ionic能一起工作吗 这似乎是一个绝妙的组合,但无论我尝试什么组合,我都无法让它在地理定位方面发挥作用 我正在使用tabs项目模板,但我尝试了其他所有模板,结果都是一样的 这是我的controllers.js文件,除了对话框,没有任何东西可以工作……有什么想法吗 angular.module('starter.controllers', ['ngCordova']) .controller('DashCtrl', function($scope,

ngCordova和Ionic能一起工作吗

这似乎是一个绝妙的组合,但无论我尝试什么组合,我都无法让它在地理定位方面发挥作用

我正在使用tabs项目模板,但我尝试了其他所有模板,结果都是一样的

这是我的controllers.js文件,除了对话框,没有任何东西可以工作……有什么想法吗

angular.module('starter.controllers', ['ngCordova'])
    .controller('DashCtrl', function($scope,
                $cordovaMedia, $cordovaNetwork, $cordovaToast,
                $cordovaDialogs, $cordovaSpinnerDialog, $cordovaGeolocation) {

        var src = "/android_asset/www/audio/gong.mp3";

        // //
        // var mediaSource = $cordovaMedia.newMedia(src);
        // var promise = mediaSource.promise;
        // var mediaStatus = mediaSource.mediaStatus;
        // var media = mediaSource.media;

        //$cordovaMedia.play(media);

        $scope.showdialog = function(message) {
            $cordovaDialogs.alert(err, 'scopey', 'ok');
        };

    $cordovaGeolocation
       .getCurrentPosition()
       .then(function (position) {
           var lat  = position.coords.latitude
           var long = position.coords.longitude

           $scope.showdialog();
       }, function(err) {
         // Error
         $scope.showdialog();
       });

    $scope.mutherclucker='oooo';

    $scope.SwapIt=function() {
        $scope.mutherclucker = $scope.mutherclucker=='yeah'?'oooo':'yeah';
        //$cordovaSpinnerDialog.show("title","message", false);
        $scope.showdialog();
    };

    // $cordovaToast
    // .show('Here is a message', 'long', 'center')
    // .then(function(success) {
    //   $scope.showdialog();
    // }, function (error) {
    //   $scope.showdialog();
    // });
    //

    var type = $cordovaNetwork.getNetwork();

    //

    var isOnline = $cordovaNetwork.isOnline();

    //

    var isOffline = $cordovaNetwork.isOffline();
})

.controller('FriendsCtrl', function($scope, Friends) {
    $scope.friends = Friends.all();
})

.controller('FriendDetailCtrl', function($scope, $stateParams, Friends) {
    $scope.friend = Friends.get($stateParams.friendId);
})

.controller('AccountCtrl', function($scope) {

});

我不能评论,因为我的名声还不到50岁。但我能够让ngCordova工作,更具体地说是$cordovaGeolocation服务。在Chrome浏览器上测试我的Ionic应用程序时,以及在Galaxy S5手机上运行该应用程序时,我能够收集纬度和经度

我有angular版本1.2.23、ngCordova~0.1.7-alpha、ionic版本1.0.0-beta.13和ionic CLI版本1.2.9

你们有什么版本?问题可能就在那里,但不确定

编辑:查看ngCordova文档和我自己的应用程序,我注意到与您的设置不同的一点是,您没有检查您的设备是否已加载以及cordova插件是否可用


查看文档:

我正在nexus5上使用ionic,并在将状态添加到index.html后使用

<script src="lib/ngCordova/dist/ng-cordova.min.js"></script>
<script src="cordova.js"></script>
用作控制器:

(function () {
    'use strict';

    angular.module('geoblog').controller('InfoController', ['$cordovaGeolocation', InfoController]);

    function InfoController($cordovaGeolocation) {
        var vm = this;
        var posOptions = {timeout: 20000, enableHighAccuracy: true}

        vm.where = function(){
            $cordovaGeolocation.getCurrentPosition(posOptions)
            .then(function(position){
                var lat  = position.coords.latitude
                var long = position.coords.longitude
                console.log('lat', lat);
                console.log('long', long);  
            }, function(error){
                console.log('error:', error);
            });

        };
    };
})();
以及作为html:

<ion-view view-title="Info" ng-controller="InfoController as vm">
  <ion-content>
        <h1>Info</h1>
        <button class="button button-full button-energized" ng-click="vm.where()">Where am I?</button>
  </ion-content>
</ion-view>

它就像一个魔咒,并使用铬chrome://inspect/devices 对于远程调试,我可以在控制台中看到我的latlong。

但是general navigator.getCurrentPosition正在工作?据我所知,它没有出错,但是Cordovatose插件肯定会出错。我几乎完全遵循了教程等内容,但除了卸载所有内容并重新安装之外,我没有尝试过多少。我只是想知道是否有人成功地用Ionic framework运行了ngCordva!你有机会让它工作吗?没有,我从来没有用过ngCordova,但我教过一门我们使用Cordova的课,我们从来没有在那里看到过地理定位的问题。我不确定你是特别要求使用ngCordova,还是在地理定位方面遇到了麻烦。
<ion-view view-title="Info" ng-controller="InfoController as vm">
  <ion-content>
        <h1>Info</h1>
        <button class="button button-full button-energized" ng-click="vm.where()">Where am I?</button>
  </ion-content>
</ion-view>