2013-04-28 14 views
7

Używam API PhoneGap do geolokalizacji. Ustawiono opcję enableHighAccuracy na "true". Kod 3, opcja przekroczenia limitu czasu wciąż pojawia się, ale tylko na niektórych urządzeniach z systemem Android i więcej niż raz podczas korzystania z aplikacji.geolokalizacja phonegap, kod 3 - upłynął limit czasu na niektórych urządzeniach z systemem Android

Proszę mi pomóc ... Dlaczego tak się dzieje, że nie działa tylko na niektórych urządzeniach z Androidem. Jeśli ustawiam dokładność na fałsz, jaka będzie różnica w pobieraniu współrzędnych ...

Odpowiedz

2

Mam taki sam błąd w Samsung Galaxy Note II (Android 4.1.1). Z jakiegoś powodu, gdy "Korzystasz z sieci bezprzewodowych" w ustawieniach Lokalizacja jest włączona, ale jeśli jest wyłączona, dostaje błąd kodu 3. Nie stało się to na Nexusie 7 (4.2.2).

+0

Dzięki, to rozwiąże mój problem, który mnie przeraża. Dzieje się tak dlatego, że urządzenie nie używa automatycznie wysokiej akuracji i musimy ustawić je ręcznie. – klaudia

9

Udało się rozwiązać mój problem z poniższym kodzie:

var options = {maximumAge: 0, timeout: 10000, enableHighAccuracy:true}; 
navigator.geolocation.getCurrentPosition(onSuccess, onError, options); 

Wydaje się, że Samsung Galaxy komórkowych nie lubią buforować lokalizację GPS.

4

Ok, tutaj, jak rozwiązać ten problem:

  1. dodać limitu czasu i ustawić enableHighAccuracy:

    navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout: 10000, enableHighAccuracy: true}); 
    

    W niektórych emulatorów trzeba ustawić enableHighAccuracy false, więc spróbuj, że jeśli nadal nie działa.

  2. W systemie Android emulator nie odczytuje wartości GPS, więc musimy wysłać je za pomocą wiersza poleceń. Musimy rozpocząć sesję telnet w porcie, że emulator jest uruchomiony (można sprawdzić port w tytule okna emulatora, numer na początku, w moim przypadku 5554):

    telnet localhost 5554 
    

I następnie uruchomić komendę

geo fix -122.4 37.78 

Jeśli zamkniesz aplikację, czego potrzeba, aby ponownie wysłać geolokalizacji, więc jeśli to nie działa, wystarczy uruchomić komendę geo fix tuż po otwarciu aplikacji, zanim zdarzenie limitu czasu.

+0

Większy "limit czasu" i "enableHighAccuracy" rozwiązały mój problem. Dzięki! – StrongLucky

+0

Miałem ten sam problem. Ustawienie 'enableHighAccuracy' na' false' i ponowne uruchomienie emulatora (z Android SDK) naprawia mój problem. –

0

Ojej, tu ten sam problem. Chciałbym, aby był lepszy sposób, niż proszenie użytkowników o zmianę ustawień GPS. Samsung Galaxy III

(prace przy „użyciu sieci bezprzewodowych, aby znaleźć pozycję” nie powiedzie się bez tej opcji)

Powiązane problemy