La API de Geolocalización esta documentada en W3C acá:
http://www.w3.org/TR/geolocation-API/
http://dev.w3.org/geo/api/spec-source.html
Firefox:
https://developer.mozilla.org/en-US/doc ... eolocation
y es soportada por varios navegadores, pero en todos tu debes permitir ubicarte, por ejemplo si usas Chrome ve a la url y pon: chrome://chrome/settings/contentExceptions#location ahí puedes configurar que sitios pueden o no conocer tu ubicación
La forma de obtener la ubicación esta basada en varios elementos, la IP es solo uno de ellos.
La razón de esta es sencilla, en la mayoría de los casos, sobre todo en nuestros países que no tienen muy bien regionalizado los rangos de IP la localización puede ser cualquier cosa, en Uruguay por ejemplo vivas en Salto, Florida, Rocha, Colonia o Montevideo, casi siempre tu IP da como resultado que estás en Montevideo, nada menos que de 100 a 600 kms de error. Ese digamos que es la "buena solución", o sea buscan basarse en otra cosa para no solo usar la IP y ser más acertados.
Pero la realidad, y sobre todo para los más paranoicos y amantes de teorías conspirativas, el gran hermano, ver Pelicula
Enemy of the State y series como
Person of Interest, es que nos tienen ubicados por todos lados.
Basándose en solucionar el problema de inexactitud de IP se utilizan otras técnicas, como por ejemplo GPS, WIFI, direcciones MAC, etc, y sobre todo todas estas combinadas.
La IP es inexacta y se puede esconder con VPN, Proxys, etc, pero si se utiliza la dirección MAC del WIFI, la ubicacción puede ser exacta, con calle, numero, apartamento, teléfono y hasta con nuestra foto sentado en el PC :P
Verifica tu dirección MAC y ve a una web como
http://samy.pl/mapxss/ y testea.
Para entender como se llega, imagina que estas cosas se logran con la SUMA de varias técnicas, por ejemplo te conectas con tu móvil y usas el GPS, ahí sumas la ubicación del GPS (algo con pocos errores), a la IP actual, + tu proveedores de conexión 3G por ejemplo.
Agregale que luego te conectas con tu móvil usas el GPS y usas el WIFI de tu casa, ahí tienes IP actual, WIFI + MAC del WIFI, + GPS = ubicación exacta.
Luego si intentas esconderte en una VPN saliendo por el WIFI con la MAC, sabrás que lo estas jodiendo ;)
No quiere decir que sea exacto la primera vez, pero ellos van sumando datos hasta que le pegan.
Sobre tu dirección y tu foto sentado en el PC si quieren lo sacan de Google Plus, Twitter, y Facebook jaja
Un poco de código para que no me de alergia de tanto idioma español:
Obtener latitud y guardar en variable con JavaScript
Obtener latitud y guardar en variable con JavaScript
Obtener posicion actual basado en latitud y longitud con JavaScript
Crear contenedor HTML para el Google Maps
Obtener un punto en el Google Maps con JavaScript
Definir Posicion del mapa y Zoom con JavaScript
Código: Seleccionar todo
var opciones = {
zoom: 18,
center: latylon,
mapTypeId: google.maps.MapTypeId.HYBRID
}
Desplegar Mapa en el DIV HTML
Código: Seleccionar todo
var map = new google.maps.Map(document.getElementById("mapa"), opciones);
Y ahí maso la llevas, todo el proceso es sencillo, pero por sobre todo porque al tener los navegadores un API implementado todo lo difícil se hacen internamente, y los developers web tenemos unos simples scripts para obtener, y desplegar.
Documentación de Google Maps:
https://developers.google.com/maps/documentation/
Nota 1: en muchos casos en vez de JavaScript es mejor usar jQuery o algún otro.
Nota 2: obvio que faltan el proceso de manejo de errores