Gps Ionic Android navigator.geolocation.getCurrentPosition在Android Kitkat 4.4.4中不起作用

Gps Ionic Android navigator.geolocation.getCurrentPosition在Android Kitkat 4.4.4中不起作用,gps,ionic-framework,android-4.4-kitkat,Gps,Ionic Framework,Android 4.4 Kitkat,我使用navigator.geolocation.getCurrentPosition构建了一个android Ionic应用程序,下面是我的代码: var opsi = {maxAge: 30000, frequency : 30000, enableHighAccuracy: false}; function success (pos) { var lat1 = pos.coords.latitude; var long1 = pos.coords.longitude;

我使用navigator.geolocation.getCurrentPosition构建了一个android Ionic应用程序,下面是我的代码:

var opsi = {maxAge: 30000, frequency : 30000, enableHighAccuracy: false};

  function success (pos) {
    var lat1 = pos.coords.latitude;
    var long1 = pos.coords.longitude;
    $http.post(link, {
      devicetime : getdtNow(),
      token : token, 
      longlat : {
      lat: lat1,
      long: long1,        
      },
      searchTerm : ''
      }).success(function (res){
          $ionicLoading.hide();
          var s = JSON.stringify(res);
          var reply = JSON.parse(s);
          if (reply.result == 'OK'){
              parkingsites = reply.parkingsites;
              if (maplistview==0){
                gmap($scope,$location);  
                getparkimage($scope);
              }
              else if (maplistview==1){
                getparkimage($scope);
              }
          }
          else if(reply.result == 'TOKENNOTFOUND'){
            state='templates/loginregister.html';
            ct_state = 'loginregister';
            $location.path('/');
            $ionicPopup.alert({
              title: 'App Warning',
              template: 'Sesi Anda Telah Habis'
            });
          }
          else {

          }
      }).error(function (data) {
        $ionicLoading.hide();
        $ionicPopup.alert({
          title: 'App Warning',
          template: 'Koneksi Ke Server Bermasalah'
        });
      });
  };

  function error(err) {
    $ionicLoading.hide();
    $ionicPopup.alert({
      title: 'App Warning',
      template: err.message
    });
    //console.warn('ERROR(' + err.code + '): ' + err.message);
  };

  navigator.geolocation.getCurrentPosition(success, error, opsi);

当我在除Kitkat 4.4.4之外的所有操作系统的android设备上尝试我的应用程序时,该代码运行良好,但当我在android 4.4.4中尝试时,它总是调用函数错误,消息超时,任何人都可以帮助?

我在android 4.4.4上仅使用以下代码即可实现此功能:

function getUserPosition () {
       var positionOptions = {timeout: 10000, enableHighAccuracy: true};
       return $ionicPlatform.ready()
        .then(function () {
          return $cordovaGeolocation.getCurrentPosition(positionOptions);
        }, function (error) {
          console.error("Error getting user position: " + angular.toJson(error));
        });
     }
我在用电脑


Cordova版本:5.4.1,ionic framework版本:1.2.1,ionic cli版本:1.7.12。

您到底尝试了什么?我有我发布的代码,目前正在运行stock rom版本4.4.4 kitkat的Sony Xperia E上工作。你在用什么设备?您是否授予应用程序使用位置服务的权限?我的设备是Polytron 4G450 Kitkat 4.4.4,我在调用getcurrentlocation之前调用了$ionicPlatform.ready(),但它不起作用,是不是一些使用android 4.4.4的设备真的不能获取CurrentLocation?android版本不应该是问题,您的设备运行的是snapdragon SoC,因此,硬件还支持必要的功能。我猜可能是您所拥有的设备出现故障、位置服务选项已关闭,或者应用程序被拒绝访问位置信息。顺便说一下,我仍然使用navigator.geolocation.getCurrentPosition,而不是$cordovaGeolocation.getCurrentPosition,因为我认为两者是相同的,我曾尝试使用$cordovaGeolocation.getCurrentPosition,但在角度模块中声明“ngCordova”时,此错误始终显示:错误:[$injector:modulerr]未能实例化模块ngCordova,原因是:错误:[$injector:nomod]模块“ngCordova”不可用!您可能拼错了模块名,或者忘记加载它。您如何导入ngCordoda?index.html fime中的ngCordova导入应该位于
cordova.js
本身之前(上方)。在您的模块上,顺序无关紧要,但请将其添加到后面。还要确保
ng cordova.min.js
文件的路径正确。