Gps Ionic Android navigator.geolocation.getCurrentPosition在Android Kitkat 4.4.4中不起作用
我使用navigator.geolocation.getCurrentPosition构建了一个android Ionic应用程序,下面是我的代码: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;
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
文件的路径正确。