2016-09-18 6 views
0

Meine Cordova-Version ist 6.3.1, und ich verwende Cordova-Plugin-Geolocation 2.3.0.
Bei Aufruf navigator.geolocation.getCurrentPosition(onSuccess, onError) wird weder onSuccess noch onError jemals gefeuert.
Ich habe auch versucht, das cordova-plugin-locationservices-Plugin zu verwenden, das Google Play Services verwendet, um Benutzerstandort zu erhalten, aber zum selben Ergebnis.
Ich baue für CyanogenMod 13 (Android 6) und verwende microG für Google Play Services (was in jeder anderen App funktioniert, die ich bisher kennengelernt habe).
Code ist unten, danke im Voraus.Cordova getCurrentPosition() gibt nie zurück

setInterval(function(){ 
     cordova.plugins.locationServices.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-locationservices */ 
     //navigator.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-geolocation */ 
      alert('Location determined'); 
      console.log(pos); 
     }, function(err) { 
      alert('code: ' + err.code + '\n message: ' + err.message); 
     }); 
    },3000); 

Antwort

1

Sie haben eine Option Objekt mit einer Timeout-Eigenschaft geben, denn wenn Sie dies nicht tun, wird Android-Gerät nicht den Fehler-Callback ausgelöst und so werden Sie keine Fehler sehen.

setInterval(function(){ 
     cordova.plugins.locationServices.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-locationservices */ 
     //navigator.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-geolocation */ 
      alert('Location determined'); 
      console.log(pos); 
     }, function(err) { 
      alert('code: ' + err.code + '\n message: ' + err.message); 
     }, { timeout: 5000}); 
    },3000); 

siehe doc: https://github.com/apache/cordova-plugin-geolocation

+0

Danke, das wies mich in die richtige Richtung. Ich habe den Fehler "Zeitlimit beim Empfang des Standorts" erhalten, was mich auf [hier] (http://stackoverflow.com/a/21481475/2657558) hinweist und das Problem gelöst hat. Prost! – Mulletfingers999

Verwandte Themen