Добрый день, хочу научиться получать текущие координаты устройства 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 и как сделать чтобы появлялись координаты?
Спасибо за советы!