2015-12-26 9 views
7

Sto usando il pacchetto mdg:geolocation e sto provando a eseguirlo nel dispositivo Android ma non sto più lat e lang più, quando ho provato questo paio di mesi fa funziona beneGeolocation.latLng() non funziona in android

sto usando 1.0.3 * versione di quel pacchetto

enter image description here

cromo sta gettando sopra di avvertimento, che mi porta a questo page

in quanto è un avvertimento dovrebbe funzionare.

Ho anche provato a eseguire l'app fornendo --mobile-server=https://myapp.com ancora non funziona.

qualche idea?

mie versioni meteor -. 1.1 * (non il più recente) geolocation- 1.0.3

EDIT

Ho provato ad utilizzare il navigatore di oggetti come qui di seguito

var onSuccess = function(position) { 
    console.log('Latitude: '   + position.coords.latitude   + '\n' + 
    'Longitude: '   + position.coords.longitude   + '\n' + 
    'Altitude: '   + position.coords.altitude   + '\n' + 
    'Accuracy: '   + position.coords.accuracy   + '\n' + 
    'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 
    'Heading: '   + position.coords.heading   + '\n' + 
    'Speed: '    + position.coords.speed    + '\n' + 
    'Timestamp: '   + position.timestamp    + '\n'); 
}; 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    console.log('code: ' + error.code + '\n' + 
    'message: ' + error.message + '\n'); 
} 

navigator.geolocation.getCurrentPosition(onSuccess, onError); 

I non ha ricevuto nessun log in console nessun errore o callback di successo sono chiamati

EDIT 2:

Questo non funziona quando si esegue la mia app su Android Mobile, se eseguo lo stesso nel Web, ottengo valori lat e lang.

EDIT 3

costruisco apk con --server indicando https://myapp.com ancora questo non sta funzionando.

EDIT 4

Ho un progetto più con tutta la versione più recente, ha provato tutti i passaggi precedenti ancora non lavorano (anche con versione build apk)

EDIT 5

Dopo provando il suggerimento di @Adam sto seguendo l'errore

code: 3 message: Timeout expired

ha provato diverse opzioni con timeout, enablehighaccuracy e maxage non funziona ancora.

+0

L'atmosfera utilizza un URL esterno? Poi scrivi la whitelisten, leggi questo documento: http://cordova.apache.org/docs/en/dev/guide/appdev/whitelist/index.html – Joerg

+0

@Joerg I ho ' 'questa configurazione tramite' meteora ', sento fortemente che i problemi sono i set di meteora come origine 'mete.local' invece di' localhost', quindi in base ai nuovi aggiornamenti di Chrome, o consentirà' https' o 'localhost', ma eccolo 'mete.local' – Sasikanth

+0

Hai una politica di sicurezza dei contenuti nel tuo' index.html'? –

risposta

2

Con l'emulatore Android, potrebbe essere necessario fornire prima una posizione. Quindi, eseguire qualcosa di simile:

~/.meteor/android_bundle/android-sdk/platform-tools/adb emu geo fix <longitude value> <latitude value>

+0

Sto usando il vero dispositivo non emulatore – Sasikanth

+1

Ah, beh per far funzionare il codice di errore, dovrai impostare un timeout per esso. Da quello che capisco, il suo valore predefinito è infinito. Prova: 'navigator.geolocation.getCurrentPosition (successo, errore, {timeout: 5000})'. Spero che questo aiuti in qualche modo; in bocca al lupo. – Adam

+0

oh fammi provare quello – Sasikanth

1

Continui con il tuo problema?Ero Disponibile per farlo funzionare utilizzando

var geo_err = Geolocation.error(); 
if(geo_err != null) alert(geo_err.message); 
var pos = Geolocation.latLng(); 
if(pos == null) return false; 

È necessario inserire in un aiutante, perché ha bisogno di scorrere su di esso in attesa di una risposta, altrimenti darà sempre un errore. Uso un pulsante per modificare lo stato di una variabile Session, che in seguito attiva l'helper in modo che possa essere chiamato più di una volta. Spero di aiutare, ho provato su Android e Chrome e funziona. L'unico problema era che non riesco a rendere l'utente a chiedere il permesso, se il GPS non è attivato mi dà

errore di timeout Quindi ... in attesa.