2013-02-22 17 views
6

Ho notato che la moderna geolocalizzazione basata su HTML5 chiede sempre all'utente "Vuoi condividere la tua posizione con questo sito?". Il che va bene, ma so che ci sono altre strade per cercare di determinare una geolocalizzazione del ballpark senza dover chiedere questo permesso. Se ricordo, questi servizi utilizzano i database ip per cercare di monitorare le informazioni di geolocalita e fornirle a un'app web.geolocalizzazione senza richiesta di autorizzazione

Quindi, nel mio sito Web vorrei ottenere una "ipotesi migliore" sul codice di avviamento postale dell'utente, senza che sia richiesta l'autorizzazione di geolocalizzazione. Qual è il metodo più semplice e/o migliore per farlo?

+1

Vuoi dire qualcosa di simile [http://www.iplocation.net/](h TTP: //www.iplocation.net/). La posizione potrebbe essere molto difficile, la mia è a 100 km per desktop e oltre 1.000 km per i dispositivi mobili. YMMV. – RobG

+0

Vedere la mia risposta qui sotto https://stackoverflow.com/a/47142775/3176550. Ipdata.co ha 10 endpoint globali ciascuno in grado di gestire> 800M richieste al giorno !! – Jonathan

risposta

8

La geolocalizzazione IP è meno accurata, ma non è necessaria l'autorizzazione dell'utente. L'API http://ipinfo.io (che è il mio servizio) lo rende estremamente semplice. Ecco un esempio jQuery:

$.get("http://ipinfo.io", function(response) { 
    console.log(response.city, response.region, response.country); 
}, "jsonp"); 

Maggiori dettagli sono disponibili here.

+1

Puoi anche usare: '' e quindi la variabile 'ipaddr' sarà il tuo indirizzo IPv4. –

1

Utilizzare uno script di posizione IP sul back-end utilizzando le variabili _SERVER. Questo è l'unico modo senza permesso, ma con enormi svantaggi: 1) non è preciso a tutti 2) L'indirizzo IP può essere modificato dall'utente, se si sta utilizzando un proxy

Ma ancora, è il unico modo se non vuoi chiedere il permesso.

Oppure si può semplicemente chiedere all'utente per il loro codice di avviamento postale, dal momento che vogliono usare il tuo sito, si potrebbe anche :)

Inoltre, dare un'occhiata a questo post: Geolocation without Prompt

+0

Questa API funzionerà anche https://ip-api.io/ –

0

Con il https://ipdata.co API

$.get("https://api.ipdata.co", function (response) { 
 
    $("#response").html(JSON.stringify(response, null, 4)); 
 
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<pre id="response"></pre>

Problemi correlati