Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

¿Cómo obtengo la geolocalización del browser?

Los hemos visto muchas veces, entramos a un sitio y el navegador no dice que el sitio en custión quiere obtener nuestra ubicación, ¿pero cómo lo hace?

Es muy simple

Desde hace tiempo que los navegadores traen incluído un objeto dentro navigator llamado geolocation que nos permite consultar la ubicación

navigator.geolocation.getCurrentPosition(function(pos){
	console.log(pos);
});

El único tema es que el navegador por defecto nos advierte que el sitio en cuestión quiere saber nuestra ubicación (lo cual, en principio, no está mal)

 

image

Complicando un poco las cosas

Podeoms hacer un poco más que obtener la position, si nos referimos a la documentación del método getCurrentPosition vemos que acepta 3 parámetros, además del callback que nos devuelve la posicion tenemos otros para errores y un objeto para indicar algunos detalles, como el timeout y la precisión.

function getLocation() {
	navigator.geolocation.getCurrentPosition(function(position){
		console.log(position);
	}, function(error){
		console.log(error);
	}, 
	{
		enableHighAccuracy: true,
		timeout: 5000
	});
}

 

image

Un poco más bonito, en caso de que la obtención de la posición tome más tiempo llama al callback de error

PositionError { code: 3, message: "Position acquisition timed out" }

 

No nos queda más que usar la posición para hacer nuestras cosas.

Nos leemos.

Loading