Geolocalización de phonegap, código 3 – el tiempo de espera expirado sigue apareciendo en algunos dispositivos Android
Estoy utilizando la API de PhoneGap para la geolocalización. He fijado la opción de enableHighAccuracy a "verdadero". Código 3, tiempo de espera expirado opción sigue apareciendo, pero sólo en algunos dispositivos Android y más de una vez durante el uso de la aplicación.
Por favor, ayúdame … ¿Por qué es esto que falla sólo en algunos dispositivos Android. Si configuro la precisión como falsa, ¿cuánta diferencia obtendré al recuperar las coordenadas …
- LocationRequest desplazamiento más pequeño y precisión
- Siga la ubicación del usuario en React Native AirBnb MapView
- ¿Cómo mejorar la precisión de los sensores de acelerómetro y brújula?
- Localización en tiempo real del dispositivo android desde otro dispositivo
- Android: Usar html5 para determinar la geolocalización en webview con javascript api
- Código de error 3 Tiempo de espera cuando intento obtener geolocalización mediante Cordova en la plataforma Android
- La devolución de llamada OnLocationChanged nunca se llama
- Agregar lugar definido por el usuario en el campo de entrada haciendo clic en un botón para detener el geocompleto
- Mueva un LatLng 5 metros hacia otro LatLng
- GeoTagging Photo's después de usar Camera Intent
- La geolocalización de Phonegap / Cordova no funciona en Android
- ¿Cuál es la precisión del mundo real de los acelerómetros de teléfono cuando se utiliza para el posicionamiento?
- Geofences (aplicación de ejemplo para Android) java.lang.ClassNotFoundException MainActivity
Gestionado para resolver mi problema con el código siguiente:
var options = {maximumAge: 0, timeout: 10000, enableHighAccuracy:true}; navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
Parece que los teléfonos de la galaxia de Samsung no tienen gusto de almacenar en caché la localización de los gps.
Ok, aquí cómo solucionar el problema:
-
Agregue un tiempo de espera y establezca enableHighAccuracy:
navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout: 10000, enableHighAccuracy: true});
En ciertos emuladores es necesario establecer enableHighAccuracy como false, así que intenta que si todavía no funciona.
-
En Android, el emulador no lee los valores GPS, así que tenemos que enviarlos a través de la línea de comandos. Tenemos que iniciar una sesión de telnet en el puerto que el emulador está ejecutando (puede comprobar el puerto en el título de la ventana del emulador, el número al principio, en mi caso 5554):
telnet localhost 5554
Y luego ejecutar el comando
geo fix -122.4 37.78
Si cierras la aplicación, debes volver a enviar la geolocalización. Si no funciona, ejecuta el comando geo fix
justo después de abrir la aplicación, antes de que se active el evento de tiempo de espera.
He enfrentado el mismo error en Samsung Galaxy Note II (Android 4.1.1). Por alguna razón, cuando 'Utilizar redes inalámbricas' en la configuración de la ubicación está activada, funciona, pero si está desactivada obtiene el error del código 3. No ocurrió en Nexus 7 (4.2.2).
Ouch, encontró el mismo problema aquí. Ojalá hubiera una mejor manera de evitarlo que pedir a los usuarios que cambien su configuración de GPS. Samsung Galaxy III
(Funciona cuando "usar redes inalámbricas para encontrar la posición" falla sin esta opción)
- Android / Java: ¿Llamar a un método usando reflexión?
- La aplicación android sigue fallando el código de error audioEffect -1