Watch-IP

Geolocalizzazione IP e posizione del dispositivo nel browser

L'API di geolocalizzazione del dispositivo del browser (navigator.geolocation) chiede il permesso all'utente e può restituire una posizione precisa misurata dal dispositivo; la geolocalizzazione IP non richiede alcun permesso e funziona a ogni richiesta, ma stima la posizione solo a partire dall'indirizzo di rete della connessione. Risolvono problemi diversi e non sono intercambiabili.

Permesso e fonte

navigator.geolocation.getCurrentPosition() (l'API di geolocalizzazione del W3C, implementata da tutti i principali browser) richiede una richiesta di permesso esplicita per origine e, sui browser moderni, un contesto sicuro (HTTPS). Se concesso, può utilizzare GPS, posizionamento Wi-Fi, triangolazione delle celle telefoniche o l'IP come ripiego, a seconda di cosa ha a disposizione il dispositivo. La geolocalizzazione IP non richiede alcuna richiesta di permesso né la collaborazione del dispositivo — un'API come GET /v1/geo la legge direttamente dalla richiesta che si connette — ma ha sempre e solo l'indirizzo di rete come base di lavoro.

Accuratezza

Una posizione del dispositivo concessa include tipicamente un raggio di accuratezza esplicito in metri e, su un telefono con GPS e una visuale del cielo libera, può essere accurata fino a pochi metri. La geolocalizzazione IP si risolve su un intervallo di rete, non su un dispositivo — i risultati a livello di paese sono di solito affidabili, quelli a livello di città sono una stima autentica, e né Watch-IP né alcun altro fornitore restituisce un valore di accuratezza a livello di metri, perché i dati sottostanti non sono così precisi. Consulta la pagina sull'accuratezza per un approfondimento più completo sull'incertezza a livello di città.

Stati di errore

La geolocalizzazione del dispositivo può fallire o essere negata: l'utente può rifiutare la richiesta di permesso, il browser può essere configurato per bloccarla, un computer desktop potrebbe non avere hardware di localizzazione significativo, oppure la richiesta può scadere. Gestisci PERMISSION_DENIED, POSITION_UNAVAILABLE e TIMEOUT (i codici di errore propri dell'API) come esiti distinti e previsti, non come eccezioni. La geolocalizzazione IP fallisce in modo diverso — un campo risolvibile può semplicemente essere null oppure, per una ricerca su IP fornito, found: false — e non mostra mai all'utente alcuna richiesta di permesso.

Come scegliere tra le due

Usa la geolocalizzazione del dispositivo quando hai bisogno della posizione reale dell'utente e puoi giustificare la richiesta del permesso — una mappa, un localizzatore di negozi o una navigazione passo dopo passo. Usa la geolocalizzazione IP per un valore predefinito a basso attrito: precompilare un paese o una valuta, instradare le analitiche o suggerire (mai imporre) un locale prima o al posto di chiedere il permesso. Uno schema comune è usare la geolocalizzazione IP come valore predefinito a permesso zero e offrire la geolocalizzazione del dispositivo come un aggiornamento esplicito, attivato dall'utente, per le attività che richiedono davvero precisione.

Cosa questo articolo non afferma

Questo è un confronto generale tra due diversi meccanismi del browser, non un'affermazione che Watch-IP implementi o incapsuli l'API di geolocalizzazione del dispositivo — non lo fa. GET /v1/geo si basa solo sull'IP; se la tua applicazione ha bisogno anche della geolocalizzazione del dispositivo, chiama direttamente l'API del browser e considera i due risultati in modo indipendente anziché cercare di conciliarli.

Fonti

Scritto dal team editoriale di Watch-IP, 6 settembre 2026. Rivisto rispetto a apps/web/lib/cf.ts e apps/api/src/routes/geo.ts.

Pagine correlate