2010-09-03 21 views
8

Me gustaría saber cómo funciona la geolocalización en un navegador web como Google Chrome o Firefox.¿Cómo funciona la geolocalización del navegador web?

Puedo acceder a este sitio web http://html5demos.com/geo y cuando permito que el navegador envíe mi ubicación, muestra mi ubicación actual.

Pero cuando envío esa URL a mis amigos para probarla, no funciona para todos ellos. ¿Cómo funciona la geolocalización y cómo la implemento para obtener la ubicación correcta?

+0

¿Quieres que funcione en ¿una página web? ¿Qué plataforma? ¿Solo quieres mostrarle a un usuario dónde está? ¿O quieres mostrar diferentes ubicaciones? – Steven

+0

-1 por no usar la función de búsqueda: http://stackoverflow.com/questions/2248404/about-geolocation-in-html-5 – BeRecursive

+0

5 años después y en general debe "permitir" esto. Por supuesto, no siempre es preciso, y no revela "su" ubicación, sino la ubicación del host del navegador. Entonces, VNC/RDP/SSH (w/X) pondrá cierta distancia entre usted y su ubicación "revelada". Proxy solo puede no más si el host de su navegador tiene capacidades de GPS. Un teléfono inteligente en la misma subred (es decir, ips públicos y privados pueden usarse en patrones de búsqueda de back-end) puede traicionarlo. – mckenzm

Respuesta

2

Re como funciona: la Wikipedia article discute varias técnicas (ubicación de la dirección IP, teléfono móvil y Wi-Fi triangulación, GPS).

Las implementaciones HTML5 requieren el soporte del navegador (FF 3.6, Opera 10.60, Chrome 4? 5 ?, IE algún día) y consentimiento del usuario antes de recuperar los datos de geolocalización.

En cuanto a la forma de ponerla en práctica, la code of the demo you link to parece estar bajo la MIT License que básicamente dice "que puede hacer lo que sea, siempre y cuando mantenga el código resultante bajo la licencia"; entonces podrías tomar ese código como base para construir.

+0

He iniciado sesión desde PC, conectado a internet usando un proxy en mi universidad. ¿Cómo dice mi ubicación casi exacta mientras no hay gps con mi PC? – SMUsamaShah

+1

LifeH2O: Para citarme a mí mismo: "el artículo de Wikipedia analiza varias técnicas (** ubicación de la dirección IP **)", ¿quizás el proxy está físicamente cerca de usted? ¿Qué tan "casi exacto" es esto? La precisión depende - en la universidad, "mi" ubicación siempre estuvo a 100 millas de distancia, ya que esa era la ubicación del proxy (sí, el diseño de la red no era óptimo, pero tenían * esa * ubicación correcta hasta el bloque de la ciudad). – Piskvor

5

Cuando usted visita un sitio web reconoce la ubicación, Firefox te preguntará si desea compartir su ubicación.

Si consiente, Firefox recopila información sobre los puntos de acceso inalámbricos cercanos y la dirección IP de su computadora. Luego, Firefox envía esta información al proveedor de servicios de geolocalización predeterminado , servicios de ubicación de Google , para obtener una estimación de su ubicación de . Esa estimación de ubicación es y luego se comparte con el sitio web solicitante .

http://www.mozilla.com/en-US/firefox/geolocation/

Por lo tanto, depende del navegador que está utilizando y algo de suerte :-)

+0

He iniciado sesión desde PC, conectado a internet usando un proxy en mi universidad. ¿Cómo dice mi ubicación casi exacta mientras no hay gps con mi PC? – SMUsamaShah

+0

@ LifeH2O http://security.stackexchange.com/questions/16253/how-does-google-maps-know-where-i-am-when-im-using-a-vpn –

0

Las cosas realmente dependen de la implementación del sitio web que está utilizando y de su navegador.

De la manera más simple, que no requiere ninguna extensión del lado del cliente es que la página web obtiene su dirección IP y utiliza cualquiera de los servicios de "dirección IP a la geolocalización" para realizar una búsqueda donde se encuentra actualmente.

La segunda opción es que los navegadores tienen una extensión que puede anunciar sus coordenadas al servidor web. En estos casos, esta información en el lado del cliente puede ser recuperada, nuevamente desde el IP a los servicios de geolocalización o a la unidad gps conectada a su computadora. Por ejemplo, Nokia N900 y el navegador incorporado MicroB tiene este tipo de extensión.

1

Info y ejemplos de W3C Geolocation API Specification:

La API de geolocalización define una interfaz de alto nivel a la ubicación información asociada sólo con el dispositivo que aloja la aplicación , tales como latitud y longitud. La API en sí es agnóstico de las fuentes de información de ubicación subyacente.Las fuentes de información de ubicación comunes incluyen el Sistema de Posicionamiento Global (GPS) y la ubicación deducida de las señales de red como dirección IP, RFID, WiFi y direcciones MAC Bluetooth y ID de célula GSM/CDMA, así como como entrada del usuario. No se otorga ninguna garantía de que la API devuelva la ubicación real del dispositivo .

Se podría aplicar de esta manera:

(solicitud de posición de una sola vez)

function showMap(position) { 
    // Show a map centered at (position.coords.latitude, position.coords.longitude). 
} 

// One-shot position request. 
navigator.geolocation.getCurrentPosition(showMap); 

(que solicitan actualizaciones de posición repetidas)

function scrollMap(position) { 
    // Scrolls the map so that it is centered at (position.coords.latitude, position.coords.longitude). 
} 

// Request repeated updates. 
var watchId = navigator.geolocation.watchPosition(scrollMap); 

function buttonClickHandler() { 
    // Cancel the updates when the user clicks a button. 
    navigator.geolocation.clearWatch(watchId); 
} 
Cuestiones relacionadas