validar usuario una posición poner obtener longitud latitud geolocalización geolocalizacion direccion desde cómo coordenadas con como calcula app acceder javascript firebase web-applications geolocation service-worker

javascript - usuario - Relación esperada de instancias de ServiceWorker a actualizaciones de geolocalización



obtener latitud y longitud javascript (1)

EDITAR: Hay una nueva versión de mi aplicación web Brotkrumen en la misma ubicación.

El cambio más importante en el diseño / especificación propuesta es que la suscripción de TravelManager ahora debe ser específica del Cliente. TravelEvent debe contener el Client.id (TravelEvent.source.id) deseado. Esto significa que el UA debe supervisar y filtrar las actualizaciones de GeoLocation por cliente. También agregué una nueva funcionalidad de demostración, como un resumen de viaje que se muestra cuando presiona el botón "Llegar". El viaje también se puede reproducir en Google Maps presionando "Map Trip" o "Replay". Si la última y la próxima actualización de geolocalización para el viaje son visibles en la ventana de Mapa, entonces el movimiento suave del marcador se logra a través de transiciones CSS.

¡POR FAVOR, ayuda a GeoLocation de fondo a activarse y ayuda a las aplicaciones web a competir con las aplicaciones nativas!

Si hay algún problema con el diseño de mi solución TravelManager, hágamelo saber. ¡Rasga agujeros en eso!

Pregunta Original:

Durante algún tiempo he estado discutiendo con W3C / IETF (y con cualquier otra persona que participe) que los ServiceWorkers son la plataforma ideal para alojar la funcionalidad de Geolocalización de Fondo que necesitan las Ultimate Web Apps para competir en igualdad de condiciones con Native Apps. . El punto de fricción suele ser la naturaleza fugaz de la vida útil de un Trabajador de servicio. Siempre he argumentado que sería una locura matarlos de inmediato y la mayoría de las implementaciones parecen estar de acuerdo. (Firefox es el más agresivo a los 30segundos, ver Bug, este comportamiento prevalece incluso con montones de CPU / memoria)

De todos modos, para demostrar que tengo razón, y que gente como Jake Archibald está muy equivocada, escribí una pequeña aplicación web . (Hay un aaa_readme.txt)

Ahora todavía necesita un poco de trabajo para proporcionar una página de resumen de viaje y hacer un mapa del viaje en Google Maps, pero creo que obtendrá la idea y, lo más importante, verá la relación real, real y demostrable entre las instancias de Service Worker y las actualizaciones de geolocalización. (Quería sacarlo antes de que los europeos desaparecieran en agosto :-)

Entonces, ¿he hecho algo estúpido aquí? ¿Me estoy imaginando que solo obtengo una nueva instancia de trabajador de servicio cuando estoy atascado en las luces durante un período prolongado en el camino a casa y las actualizaciones de posición no se ven por ningún lado? ¿Son mis habilidades de codificación lamentables y las habilidades de prueba inexistentes?

De lo contrario, no tengo idea de por qué las aplicaciones web no pueden satisfacer estos requisitos legítimos y muy deseables de los usuarios. Claro, obtendremos la habilitación del usuario, los permisos y el descubrimiento correctos, ¿pero sigamos con esto? ¡El archivo TravelManagerPolyfill.js es casi todo lo que los desarrolladores de UA tienen que hacer!

P: ¿He entendido correctamente la arquitectura de ServiceWorker e implementado una interrogación heurística válida de la creación de instancias de ServiceWorker a lo largo del tiempo?


R: Sí, el código de ejemplo demuestra de manera concluyente que el paradigma de Trabajador de Servicio es ideal para entregar la Geolocalización de Fondo tan aclamada a Ultimate Web Apps. La renovación del temporizador de caducidad de instancias SW para cada nueva actualización de posición es clave para la longevidad del SW. Esta es, de lejos, la solución más amigable con la batería y con muchas funciones disponible para el enigma de la geolocalización de fondo de la aplicación web.

Nota: Recomiendo una instancia de TravelManager por cliente por separado (a diferencia del ejemplo POC) y el estilo Flex Box.

¡Esperemos que esto sea recogido por los proveedores de UA lo antes posible!