2015-06-22 4 views
0

Я разрабатываю приложение, которое на 70% основано на геолокации. Я начал развиваться в iOS, и все работает отлично, у меня были некоторые проблемы, но ничего, что не разрешимо логически. Теперь меня спросили версию для Android, при первом показе все работает идентично iOS, но когда тестовая версия, которая вызывает у меня проблемы, возникла геолокация. Проблема в том, что выключение GPS с телефона (я тестировал Samsung, Xperia, Motorolas) попадает в функцию ошибки (которую я определил), чтобы предупредить пользователя о том, что GPS выключен, и который должен позволить ему занять. Однако, активируя его, он не работает хорошо, перезагрузите компьютер, чтобы работать исправно в последнее время, я сумасшедший, потому что даже я получаю ответ об ошибке или предупреждает вас о выходе или что-то в этом роде.Geolocation cordova Плагин Android не работает

Мой код:

$scope.$on('$ionicView.enter', function(){ 
$(function(){ 
    document.addEventListener("deviceready", onDeviceReady, false); 
}) 

function onDeviceReady() { 
    navigator.geolocation.getCurrentPosition(onSuccess, onError); 
} 

function onSuccess(pos) { 
    $scope.latitud = pos.coords.latitude 
    $scope.longitud = pos.coords.longitude; 
    console.log(pos.coords.latitude); 
    $scope.mostrar_cercanos = true; 
    $scope.getViews(); 
} 

function onError(error) { 
    $scope.mostrar_cercanos = false; 
    $scope.mostrar_mensaje_gps = true; 
    $scope.mensaje = "El GPS de su telefono no se encuentra activado"; 
} 
}) 

Плагины:

org.apache.cordova.geolocation 0.3.12 "Geolocation" 
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser" 
org.apache.cordova.network-information 0.2.15 "Network Information" 
org.apache.cordova.splashscreen 1.0.0 "Splashscreen" 

Я должен вернуться к прошивке отметить, что все работает, как я хочу.

+0

Эта последняя часть мне не понятна «Однако, активируя ее, она не работает, перезагрузите компьютер, чтобы работать исправно в последнее время, я сумасшедший, потому что даже я получаю сообщение об ошибке или предупреждает вас, или что-нибудь в этом роде ». – jcesarmobile

+0

BTW, плагин геолокации для cordova для android использует геолокацию HTML5, поэтому никакого нативного кода не задействовано, поэтому все это зависит от веб-представления. – jcesarmobile

+0

@jcesarmobile. То, что я имею в виду, это активное устройство GPS Android и не работает геолокация, единственный способ заставить его работать Включить GPS, снова включить устройство и снова работать там. – NHTorres

ответ

2

Я бы рекомендовал вам использовать ngcordova.

http://ngcordova.com/docs/plugins/geolocation/

Я использовал это в моем приложении, и она работала отлично.

Удачи вам!

+0

Это работает для меня, но у меня есть некоторые сомнения. Я отключил GPS на своем телефоне, так же как и моя широта и долгота? Плагины работают с HTML5, и это не зависит от ячейки GPS? Если это так, чтобы определить, кто показывает пользователю ошибку, если она не может получить вашу текущую позицию? – NHTorres