Javascript-форум (https://javascript.ru/forum/)
-   Мобильный JavaScript (https://javascript.ru/forum/mobile/)
-   -   Phonegap geolocation, error code 2. (https://javascript.ru/forum/mobile/49941-phonegap-geolocation-error-code-2-a.html)

amaaykts 04.09.2014 17:19

Phonegap geolocation, error code 2.
 
Добрый день, хочу научиться получать текущие координаты устройства latitude и longitude.
Использую navigator getCurrentPosition
Запускаю на эмуляторе и получаю error code 2. На google nexus 7 тоже ничего не работает
cordova версии 2.9.0
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
Все разрешения в манифесте для геолокации прописал, в config вроде тоже всё прописал

Вот код, в html просто элемент div с id geolocation.
Делал алерты на каждую функцию, в getLocation алерт появляется, значит функция вызывается, в функции error тоже алерт вызывается значит эта функция тоже работает, но функция showlocation не поднимает алерт. По идее если в эррор появляется ошибка кода 2 или 3 то он не запустит функцию показа координат.
Вот я и не могу понять почему появляется ошибка code 2.
function showLocation(position) {
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
  alert("Latitude : " + latitude + " Longitude: " + longitude);
  var element = document.getElementById('geolocation');
  element.innerHTML = "Latitude : " + latitude + "<br/>Longitude : " + longitude;
};

function errorHandler(err) {
var errorID=document.getElementById('errorid');
  if(err.code == 1) {
	errorID.innerHTML = "Code 1<br/>Error: Access is denied!";
    alert("Code 1<br/>Error: Access is denied!");
  }else if( err.code == 2) {
  errorID.innerHTML = "Code 2<br/>Error: Position is unavailable!";
    alert(err.code + " " + err.message);	
  }
};

function getLocation(){

   if(navigator.geolocation){
      // timeout at 60000 milliseconds (60 seconds)
      var options = {timeout:60000,
					EnableHighAccuracy: true};
      navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
	  document.getElementById('getlocation').innerHTML="geolocation succes";
   }else{
      alert("Sorry, browser does not support geolocation!");
   }
};

Подскажите пожалуйста, как избавится от ошибки code 2 и как сделать чтобы появлялись координаты?
Спасибо за советы!

bigkrp 04.02.2015 18:35

Тоже есть проблема с геолокацией.
В манифесте и конфиге, тоже все прописано.

Но у меня не даже ошибки не выдает. Т.е. просто перестает работать.
Возможно вы знаете как решить проблему?

bigkrp 04.02.2015 18:38

Поправка, при увеличении таймаута, таки выдает ошибку разрешения.


Часовой пояс GMT +3, время: 06:45.