Come posso determinare la posizione di un visitatore del mio sito Web?


19

Se desidero fornire a un sito Web contenuti relativi alla posizione, quali modi posso utilizzare per trovare la posizione approssimativa del visitatore utilizzando le informazioni IP o di intestazione?



4
Dovresti invece porre questa domanda su StackOverflow.com .
Jonas,

7
Penso che ci saranno sempre domande crossover che saranno appropriate per entrambi. Ma le risposte qui con una prospettiva GIS possono essere diverse da quelle lì con una prospettiva di programmazione.
JamesRyan,

Risposte:


12

Innanzitutto, dovresti sapere che l'accuratezza di questi servizi è e sarà sempre bassa.

La città di MaxMind Geolite è gratuita . Se non è abbastanza buono, puoi apparentemente passare a una versione a pagamento più accurata. Non posso parlare per la qualità della versione a pagamento, in quanto non l'ho mai usato.

Se ti piace il tuo SQL, scarica la versione CSV . Caricalo nel tuo database preferito e esegui una query.

L'opzione più veloce ed efficiente in termini di spazio è scaricare la versione BLOB binaria del file dello stesso database e quindi utilizzare un'API specifica della lingua dallo stesso sito Web per interrogarla.

In alternativa, ho trovato ipinfodb.com utile. La query avviene tramite HTTP GET semplice. Ad esempio, per geolocalizzare stackoverflow.com provare:

http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211

Ciò restituirà un file XML contenente latitudine e longitudine, che assomiglia a:

<Response>
  <Ip>69.59.196.211</Ip>
  <Status>OK</Status>
  <CountryCode>US</CountryCode>
  <CountryName>United States</CountryName>
  <RegionCode>41</RegionCode>
  <RegionName>Oregon</RegionName>
  <City>Corvallis</City>
  <ZipPostalCode>97333</ZipPostalCode>
  <Latitude>44.4698</Latitude>
  <Longitude>-123.343</Longitude>
</Response>

5 anni dopo .... Qualcuno può aggiornare questa risposta? Pubblica una nuova risposta?
Dror Atariah,

5 anni più tardi sistemi più geoide sono inutili perché sono in grado di individuare correttamente gli utenti mobili ...
Mike Szyndel

9

La posizione che si può dedurre dall'IP non è molto affidabile (vale a dire che a volte funziona).

Se desideri una posizione affidabile, considera l' API di geolocalizzazione che fa parte di HTML5 . Si noti, tuttavia, che non tutti i browser Web lo supportano (ancora).


1
+1 per HTML5. È sempre possibile utilizzare entrambi: se l'API di geoloation non riesce, ricorrere all'IP. Un maggiore supporto del sito Web implica una maggiore pressione sui fornitori di browser per supportare tecnologie migliori.
nulla101

Ma stiamo parlando della "posizione approssimativa del visitatore", quindi potrebbe non essere quello che desideri. Un punto importante è che la geolocalizzazione HTML5 farà apparire un prompt di conferma dall'aspetto spaventoso. Sì, la posizione sarà in genere molto più esatta ... ma solo dopo che il visitatore avrà accettato la richiesta di conferma.
Harry Wood,

3

Un'opzione che si concentra sul supporto mobile, sebbene funzioni bene anche sulla maggior parte dei browser desktop (tranne IE nella mia esperienza), è il pacchetto Geo-Location-Javascript che racchiude l'API GeoLocation HTML5 citata da Sean. Ho trovato il supporto del browser mobile piuttosto scarso per l'API HTML5 (non sorprende, tuttavia, poiché è ancora in bozza), quindi è per questo che sono andato con questo pacchetto.

I risultati dei dispositivi moblie sono abbastanza buoni su connessioni cellulari e WiFi (e GPS se il dispositivo ce l'ha). I browser desktop riportano una posizione piuttosto approssimativa paragonabile ad altri servizi.



2

Quova http://www.quova.com/ ha anche un servizio. Ho parlato con loro ieri a GeoLoco. Secondo loro (quindi prendilo con un granello di sale) dicono che sono molto meglio a livello internazionale di MaxMind. Sono quasi uguali in Nord America.

Essere consapevoli del fatto che per i telefoni cellulari l'IP probabilmente verrà mappato ovunque l'operatore abbia il proprio gateway verso Internet. Puoi anche provare a utilizzare - http://www.loc-aid.com/ se scegli come target i telefoni cellulari.


2

Google Analytics fornisce mappe e statistiche di base sulla posizione del tuo visitatore. Naturalmente, devi condividere queste informazioni con Google ...


4
che mi consentirebbe di riferire sui visitatori ma non di personalizzare i miei contenuti al volo per posizione
JamesRyan,

0

ipinfodb.com è buono ma sono attualmente offline :(

Lo sto usando per la mia API . È fantastico per il mio tempo, ma non so che sia offline da ieri.


1
Grazie per la risposta. Hai notato che @FMark ha già descritto questo servizio in una risposta precedente in questa discussione?
whuber

non è una critica su ipinfodb ma prima avevo avuto problemi con il mio convertitore di valuta e lo strumento di valuta api , ho provato a usarlo per determinare automaticamente la posizione e potevo dare loro una posizione diretta associata alla valuta ma; S aveva un sacco di problemi con il sito era 3 giorni offline, o qualche errore di connessione o il caricamento di molte storie che potrebbe influire sulle prestazioni del tuo sito e google non lo vuole ...
jarauzes,

Infodb sembra fantastico, provalo da mesi ormai .. hanno dei limiti? intendo visitatori al giorno?

0

Se desideri fornire loro contenuti o annunci in base alla loro posizione geografica, non puoi fare affidamento per acquisire i dati sulla posizione dal dispositivo. Anche se sono su telefoni cellulari, è molto probabile che abbiano il GPS e il wifi disattivati ​​e debbano dare il loro consenso per condividere la posizione.

È come: "Ehi, puoi condividere la tua posizione con me in modo che io possa darti contenuti e annunci che ritengo siano più legati alla tua posizione geografica?" Risposta: "No! Dammi i migliori contenuti e annunci che hai là fuori"

L'unico modo per trovare la posizione senza chiedere loro l'autorizzazione è tramite il loro indirizzo IP. È possibile installare un database sul proprio server e interrogarlo per trovare la posizione di un indirizzo IP o utilizzare un'API esterna che è necessario interrogare e ottenere i risultati. Sto usando l'API di geolocalizzazione ipgp e sto lavorando alla grande. ( http://www.ipgp.net/ip-address-geolocation-api/ )

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.