2015-12-14 4 views
2

я Привык Lenovo андроида 4.4.2, Samsung Android 4.4.4, планшет Samsung Android 4.1.2, чтобы проверить мое приложениезначок GPS не активен

Я также использовал Cordova геолокации плагин ($ cordovaGeolocation) , Но проблема в том, что значок gps все еще не отображается/не активен в строке состояния. Таким образом, это делает мое местоположение приложения неточным. Чтобы подтвердить, я открыл приложение Google Maps, чтобы увидеть, отображается ли значок 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

уже решена проблема. вот мой код

.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"); 
}); 

});

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