Tener el punto de localización precisa de un algún dispositivo es de gran importancia, ya sea que repartas comida. transportes productos o personas, la posibilidad de Geolocalizar un punto en mapa te dará muchas ventajas competitivas.

*Esta función sólo esta disponible para conexión seguras HTTPS
*Para realizar este proceso podemos echar mano del API Geolocation por razones de privacidad esta función sólo esta disponible si el usuario otorga permisos.

API Geolocation

Podemos hacer uso del API Geolocation llamando a navigator.geolication,

Es posible acceder a la localización con dos 2 métodos:

 

1.- Geolocation.getCurrentPosition()

Recibe la posición actual de un dispositivo.

2.- Geolocation.watchPosition()

Registra un manejador que se llamará cada que la posición del dispositivo cambie y retorna la nueva ubicación.

 

 

*En esta entrada sólo abordamos getCurrentPosition.

En cualquiera de los 2 metodos, se pude recibir 3 argumentos:

1.- Un callback de éxito (obligatorio): si la geolocalización se recupera de forma correcta se ejecuta GeolocationsPosition y provee de data de la localización y fecha de recuperación.

1.1.-  GeolocationPosition

Retorna las coordenadas de la posición actual (coords) y timestamp con la fecha de recuperación.

 

2.- Un Callback de error (opcional): si la geolización falla, el callback ejecuta GeolocationPositionError proporcionado código y mensaje del error.

Posibles errores: PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT

3.- Opciones: permite pasarle opciones

3.1 EnableHighAccuracy (Bool) Define si se desea activar una alta precisón.

3.2 TimeOut (Positive Long Value) Define en milisegundos el tiempo en que se debería obtener el resultado, el valor por defecto es infinity.

 3.3 MaximunAge (Positive Long Value) indica en milisegundos cual debería ser el valor aceptable de la última posición, por defecto el valor es 0 indicando que se requiere conocer la posición actual.

 

Deja un comentario

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