Resumen: en este post te mostraré a obtener la ubicación de un usuario para enviarla a un servidor con PHP, usando JavaScript y PHP.

Vamos a usar JavaScript para acceder a las coordenadas GPS del dispositivo, y después vamos a usar fetch para enviar los datos a un servidor con PHP usando JSON.

Obtener coordenadas GPS con PHP y JavaScript

Nota: vamos a suscribirnos a las actualizaciones de ubicación como en otro post que vimos anteriormente.

Demostración y código fuente

En el post voy a explicar el código, pero puedes ver el repositorio completo en GitHub.

También puedes acceder a una demostración en línea.

Lecturas recomendadas

Recomiendo leer:

Acceder a la ubicación con JavaScript

Recibir actualizaciones de ubicación conforme el usuario se mueve

Ya que este post solo se enfocará mayormente en la comunicación con el servidor.

Enviar coordenadas GPS a servidor con PHP

Vamos a escuchar cuando la ubicación del usuario cambie y vamos a enviar las coordenadas con el timestamp a nuestro servidor.

Lado del cliente

Comenzamos definiendo nuestro layout. En este caso pondré dos botones, uno para comenzar a loguear la ubicación y otro para detenerlo.

Esto de los botones es opcional, puedes comenzar a obtener actualizaciones de la ubicación sin la interacción del usuario, aunque obviamente necesitas permiso.

Ahora definimos el script. Nos suscribimos a las actualizaciones pero cada que obtenemos una nueva ubicación, la enviamos a nuestro servidor usando fetch.

Como ves, estoy creando un nuevo objeto, ya que el que se obtiene no se puede codificar (supongo que no es serializable por lo mismo de la seguridad)

Fíjate que lo estoy codificando con JSON.

También observa la constante RUTA_API, pues en esa ubicación es en donde se va a enviar la ubicación del usuario.

Lado del servidor

En el lado del servidor recibimos la información y decodificamos el JSON.

Para guardar las coordenadas podríamos usar un método más robusto como una base de datos, pero en este caso estoy usando un simple archivo de texto usando la función file_put_contents y la constante FILE_APPEND para agregar contenido en lugar de remplazarlo.

El objeto tiene la propiead timestamp. También tiene la propiedad coordenadas que a su vez tienen latitud y longitud.

Si ahora abrimos el archivo ubicaciones.txt veremos que las coordenadas han sido logueadas.

Este método es obviamente más fiable que el de la IP para obtener la ubicación de un dispositivo con PHP.

Como siempre lo digo, accede a la demo o mira el código en GitHub.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 2,601 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

2 Comentarios

jorge · diciembre 2, 2020 a las 11:28 pm

una pregunta , bueno ya descargue los scripts y ya los corri y todo ok, pero si quiero ponerlo en un pop up o ventana emergente como lo haria, y otra duda como hacer para que el usuario no tenga que dar clic el usuario a iniciar , si no que inicie en automatico al permitir o dar el permiso del navegador y en automatico inicie el registro de la ubicacion o las ubicaciones son mis dudas

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: