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.
*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 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.