Форум программистов, компьютерный форум CyberForum.ru

HTML5: мобильные приложения

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
amaaykts
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 3
#1

Phonegap geolocation, error code 2 - HTML5

04.09.2014, 22:15. Просмотров 1118. Ответов 4
Метки нет (Все метки)

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

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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 и как сделать чтобы появлялись координаты?
Спасибо за советы!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2014, 22:15     Phonegap geolocation, error code 2
Посмотрите здесь:
Phonegap+Bluetooth HTML5
HTML5 Phonegap + SQlite
HTML5 Копиляция PhoneGap Desktop
HTML5 Авторизация пользователя PhoneGap
Не могу скачать PhoneGap HTML5
PhoneGap+iOS+INMOBI HTML5
PhoneGap, авторизация без API HTML5
HTML5 Программирование при помощи PhoneGap
HTML5 PhoneGap или Appcelerator Titanium
HTML5 Как добавить платформу в phoneGap?
HTML5 Ошибка при первом запуске phonegap

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
667 / 529 / 45
Регистрация: 05.03.2010
Сообщений: 1,273
04.09.2014, 23:25     Phonegap geolocation, error code 2 #2
в эмуляторе вряд ли получится что-то, хотя для андроид эмулятора можно при помощи telnet посылать геолокацию, но все же

вы вызываете функцию getLocation на ивенте deviceready?
amaaykts
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 3
05.09.2014, 00:02  [ТС]     Phonegap geolocation, error code 2 #3
Вызываю по нажатию на кнопку.
На устройстве nexus 7 он просто поднимает алерт об ошибке в функции error

Добавлено через 35 минут
Я тупил, нужно было на устройстве включить ПЕРЕДАЧУ ГЕОДАННЫХ.
Но теперь вопрос, как из приложения по нажатию на кнопку включить эту самую передачу геоданных, чтобы пользователю не пришлось самому в настройки лазить?
Vorona
Peace 2 all shining faces
667 / 529 / 45
Регистрация: 05.03.2010
Сообщений: 1,273
05.09.2014, 00:34     Phonegap geolocation, error code 2 #4
нужно запустить активити настроек локаций
можно использовать готовые плагины, типо этого
можно использовать webintent плагин, как это описано тут
можно написать свой мини-плагин, который просто будет на андроиде проверять или включен GPS и, если нет, то выполнять что-то вроде этого
Java
1
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
amaaykts
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 3
05.09.2014, 00:35  [ТС]     Phonegap geolocation, error code 2 #5
Спасибо большое, буду изучать
Yandex
Объявления
05.09.2014, 00:35     Phonegap geolocation, error code 2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru