1

Плагин геополяции Кордовы работает только с местоположением GPS телефона. Если телефон GPS не заблокирован (например, находится внутри здания), тогда он должен взять COARSE_LOCATION, т. Е. WIFI или сотовую башню.Кордонский геолокационный плагин выпуск

Я проверил его, предоставив ему только разрешение только ACCESS_COARSE_LOCATION и комментируя код для ACCESS_FINE_LOCATION. В этом случае мы получаем код ошибки: 3 (timeout).

$scope.showpopup=function(status){ 
       console.log("show pop up function called"); 
       var cont; 
       switch (status) { 
        case 1: 
         cont = "User denied the request for Geolocation." 
         break; 
        case 2: 
         cont = "Location information is unavailable." 

         break; 
        case 3: 
         cont = "The request to get user location timed out." 
         break; 
        default: 
         cont = "An unknown error occurred." 
         break; 
       } 
       $ionicPopup.alert({ 
        title: 'Gps error', 
        content: cont 
       }); 
     }; 


navigator.geolocation.getCurrentPosition(
    function(position){ 
     //Variables to use for showing latitude and longitude by position.coords . 
    },function(error){ 
     $scope.showpopup(error.code); 
     },{timeout:10000,maximumAge:60000,enableHighAccuracy:true}); 

ответ

1

Вы enableHighAccuracy набор для правда, что означает, что вы хотите GPS. Измените его на false, и тогда вы сможете получить сетевое (Wi-Fi или сотовую) позицию.

Для получения дополнительной информации, пожалуйста, см:

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-geolocation/

+0

Благодаря @Neil Cresswell мы попробуем. – Abhishek

+0

Извините, я найду это очень интересным и не пойму меня неправильно здесь, что я должен исправить вас, @Neil Cresswell, но это не совсем так. Этот плагин основан на [html5 geolocation api] (https://dev.w3.org/geo/api/spec-source.html), в котором говорится, что атрибут enableHighAccuracy содержит подсказку о том, что приложение хочет получать лучшие возможные результаты », поэтому вы сообщаете api, что вы хотите использовать gps/glonass/galileo/beidou, но нет никакой гарантии, что из этих спутниковых геотексов будут появляться согласные, так что api также может отказаться от менее точных технологий, таких как Wi-Fi/кв.м. – Blauharley

+0

Как указано в предложении: приложение хочет использовать высокоточные технологии, если это возможно в конкретной ситуации, тогда он будет использовать высокоточные технологии, иначе он будет использовать менее точные технологии автоматически, если их можно будет использовать прямо сейчас. Его также можно прочитать [здесь] (http://stackoverflow.com/questions/15310742/if-i-have-access-fine-location-already-can-i-omit-access-coarse-location), когда enableHighAccuracy установленный как истинный, так и высокие и менее точные технологии разрешены с помощью andriod, который может использоваться, например, от текущего местоположения. – Blauharley

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