我使用联想android 4.4.2,三星android 4.4.4,平板电脑三星android 4.1.2来测试我的应用程序
我还使用了cordova地理定位插件($ cordovaGeolocation)。但问题是gps图标仍未在状态栏中显示/激活。因此,它使我的应用位置不准确。为了确认,我打开了我的Google地图应用,看看是否出现GPS图标,结果是图标处于活动状态。
然后,我尝试在iOS中运行我的应用程序,图标出现了。
这是我的javascript代码:
var options = {
enableHighAccuracy: true,
maximumAge: 0,
timeout: 10000
};
$cordovaGeolocation.getCurrentPosition(options).then(function (pos) {
latlong = { 'lat' : pos.coords.latitude, 'long' : pos.coords.longitude };
$rootScope.currentLocation = latlong;
}, function(err) {});
我想知道为什么没有出现gps图标。如果是因为我的Android版本或我的设备,但我已经使用mauron85-background-geolocation来运行后台。它确实出现了gps图标。
我已经完成了对这个问题的研究,但它也无法解决我的问题。 这里 - > https://forum.ionicframework.com/t/gps-icon-when-using-geolocation-is-not-active/22426/3
答案 0 :(得分:0)
已经解决了这个问题。这是我的代码
.controller('MapCtrl', function ($scope, $state, $cordovaGeolocation, $interval) {
var options = {
enableHighAccuracy: true,
maximumAge: 3000,
timeout: 30000
};
var watchOptions = {
timeout: 3000,
enableHighAccuracy: false
};
$cordovaGeolocation.getCurrentPosition(options).then(function (position) {
var latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var mapOptions = {
center: latLng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
$scope.map = new google.maps.Map(document.getElementById("map"), mapOptions);
google.maps.event.addListener($scope.map, 'idle', function () {
var marker = new google.maps.Marker({
map: $scope.map,
position: latLng
});
marker.setMap($scope.map);
});
$interval(function () {
$cordovaGeolocation.watchPosition(watchOptions).then(
null,
function (err) {
console.log(err);
},
function (position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$scope.updateLoc = lat + " " + long;
$scope.digest();
});
}, 10000);
}, function (error) {
console.log("Could not get location");
});
});