móviles - manual de programacion android pdf
¿Es posible obtener la máxima precisión de GPS en el navegador móvil? (2)
¿Es posible recibir la posición GPS con la máxima precisión disponible en un dispositivo móvil desde el navegador web?
getCurrentPosition()
pruebas en dispositivos móviles utilizando getCurrentPosition()
y watchPosition()
desde HTML5 Geolocation, caminando por un edificio de oficinas. He recibido la precisión máxima de 70 m en Android HTC Desire (navegador Android) y iPhone 3 (Safari), y no hay datos de altitud / velocidad, con la conexión WiFi activada. Después de que se desactivó el WiFi, la precisión cayó a 800-1000 metros.
Al mismo tiempo, en la aplicación GPS Test en Android, obtuve una precisión de posición GPS de 14 my, además, datos de altitud y velocidad.
Entonces, como veo, no he recibido en ambos dispositivos en el navegador móvil el conjunto completo de datos disponibles en el GPS, ni la precisión que los sensores del dispositivo puedan alcanzar.
Por lo tanto, mi pregunta es, ¿el conjunto de datos GPS que reciben los navegadores está limitado por dispositivos, o puede el navegador no hacer un uso completo de ellos? Me gustaría tener una precisión GPS completa en mi aplicación web sin necesidad de escribir una aplicación móvil "normal".
OK, mi colega de trabajo me dio una pista muy valiosa.
Por razones de seguridad, el navegador integrado para Android (por lo tanto, el navegador de Android, en el que hice las pruebas) no obtiene la ubicación del GPS con total precisión. La precisión se reduce con la premeditación. Entonces, cuando se desconectó el WiFi, obtuve una respuesta que es de 800-1000 metros. Con WiFi activado, el seguro que recibí en la devolución de llamada fue de 70 metros.
Por lo tanto, hice una prueba con Opera Mobile y Firefox, que requieren permiso para obtener una ubicación precisa del GPS cuando se instala (igual que la prueba de GPS). Estos navegadores, después de desconectar el GPS de los datos recibidos con una cobertura <10 metros, igual que la aplicación nativa.
Así que la respuesta para Android es: no use el navegador Android para sitios web, para los cuales desea obtener la ubicación GPS con alta precisión. Parece que la gente de Google decidió, que si el usuario no aceptó la ubicación precisa del GPS para el navegador de Android, puede no ser consciente de que este navegador proporciona datos tan precisos para los sitios de la WWW. En cuanto a Opera y Firefox, es una aplicación instalada por el usuario, por lo que es su elección.
La prueba para iPhone con WiFi apagado dio 50 metros de precisión para Safari. Por lo tanto, la precisión es mucho menos restringida que para Android, sin embargo, se hace la restricción. Sin embargo, hay un problema al reemplazar Safari con otro navegador compatible con HTML5, ya que Opera detuvo su desarrollo para iPhone.
Todas las pruebas se realizaron fuera del edificio de oficinas, cuando 10-12 transmisores GPS estaban a la vista.
Según esta respuesta , podrías intentar usar la opción enableHighAccuracy
(si aún no lo hiciste).
Pero vea ¿Por qué la geolocalización en Mobile Safari es menos precisa que la ubicación en una aplicación nativa? en relación con el iPhone, donde parece que la API de geolocalización de JavaScript en Mobile Safari no obtiene información de ubicación tan precisa como la API de servicios de ubicación para aplicaciones nativas.