Показать сообщение отдельно
  #1 (permalink)  
Старый 04.09.2014, 17:19
Новичок на форуме
Отправить личное сообщение для amaaykts Посмотреть профиль Найти все сообщения от amaaykts
 
Регистрация: 04.09.2014
Сообщений: 1

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 и как сделать чтобы появлялись координаты?
Спасибо за советы!
Ответить с цитированием