2010-09-03 12 views

risposta

54

Geolocation può essere calcolato in base a:

  1. GPS (se disponibile)
  2. reti Wi-Fi disponibili e intensità del segnale
  3. torri cellulari disponibili e segnalare i punti di forza
  4. IP Addr ess ricerca

Vedere le W3C Geolocaton API e Google Gears API (che API/W3C Geolocation di Chrome si basa su).

Chromium's geolocation source code possono essere visualizzati online.

+0

Buona ricerca! +1 – splash

+1

+1 Buona risposta e ben formattato. Stai indicando il codice sorgente di Google Gears anche se non quello di Chrome, anche se probabilmente è praticamente identico per i provider di località. – Thomas

+0

Grazie Thomas, ho corretto questo link ora. –

-1

Penso che usano il proprio indirizzo IP e un servizio geolocation come http://www.ip2location.com/ o (più probabilmente) la propria geolocation database/servizio)

+1

Chrome legge effettivamente quali reti Wi-Fi sono intorno a te e invia i loro SSID a Google, che restituisce un indirizzo approssimativo. Può essere spettrale e accurato dove Google ha guidato le loro auto Street View, anche se il tuo laptop/dekstop non ha un sensore GPS. –

+0

@DanDascalescu Wi-Fi può essere solo una parte del processo di determinazione. Inoltre, devi distinguere tra le versioni mobile e desktop di Chrome! Penso che Chrome utilizzi principalmente l'API di geolocalizzazione HTML5, in cui il Wi-Fi è solo una parte. – splash

0

Guardano diverse cose: -> Gli identificatori univoci (SSID) di reti wireless nella posizione e intensità del segnale. -> indirizzo IP (l'indirizzo IP pubblico) -> GPS (se disponibile) - Dati> mobile percorso di rete (se disponibile)

8

La posizione può essere ottenere l'utilizzo di servizi e hardware differenti disponibili sul dispositivo. I più comuni sono: GPS, informazioni wifi, torri cellulari. In alternativa esiste anche la ricerca IP, tuttavia non è molto accurata e non comporta nulla di speciale sul tuo dispositivo.

Nel tuo caso sono state utilizzate le informazioni più probabili sulla tua rete wifi. Esistono enormi database che collegano le reti Wi-Fi a una posizione, create da auto con GPS & Wifi (ad esempio, le auto di Google Street View). La trasmissione dal tuo computer al server avviene in base allo W3C Geolocation API Specs, che fa parte di HTML5.

Sorgente cromata per questo? Here è un punto di ingresso da cui partire. O se si preferisce il vecchio file browser stile: http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/

file di implementazione per la localizzazione tramite wifi:

  • wifi_data_provider_mac.cc
  • wifi_data_provider_linux.cc
  • wifi_data_provider_win.cc
-2

Recentemente Ho lavorato sull'assegnazione della posizione geografica in HTML 5. È supportato in tutti i browser moderni (IE9, Safari, FF, Opera).
Ma quando sono arrivato a Chrome non è supportato. Ho passato diverse ore a sistemarlo.
Infine ho trovato una soluzione:

La geolocalizzazione in Chrome è disattivata per impostazione predefinita. Per attivarlo, gli utenti devono andare al loro collegamento Chrome e aggiungere --enable-geolocation alla fine della linea di destinazione, sotto la scheda Collegamento.

+2

Non è vero. O più precisamente, la tua risposta è stata pubblicata nel 2012 e non è stata vera da anni. Chrome 17/18 ha sicuramente la geolocalizzazione abilitata di default. – mhenry1384

+0

Questo è spaventoso! La geolocalizzazione è precisa quanto lo è (fino al wi-fi/indirizzo), vuol dire che ogni server web che accedo ora conosce il mio indirizzo, all'interno di un paio di case? – Ruby

0

un browser su un pc non ha un gps, tuttavia ha un indirizzo ip esterno (di solito l'indirizzo ip esterno del router). se altri componenti dietro lo stesso router hanno un gps, questa posizione dei pin per quell'indirizzo ip e tramite i servizi di posizione collega questa posizione al browser.

Problemi correlati