Cerco di spiegare il concetto di geolocalizzazione tramite IP e la sua difficoltà nell'attuarlo. Quello sotto descritto è convenzionalmente veritiero se lo smartphone usa reti NON WIFI, ossia usa la rete dell'operatore. Se invece lo smartphone usa reti wifi allora le cose sono concettualmente simili, ma leggermente diverse.
Nell'uso dello smartphone (ma anche del PC o di qualsiasi dispositivo connesso), a meno che non venga abilitata la funzionalitaà di geolocalizzazione per le specifiche app e il servizio "web" lo richieda, la localizzazione viene effettuata normalmente dall'IP pubblico con cui ti presenti al servizio stesso.
Perchè è difficile localizzare un IP pubblico, soprattutto se è dinamico e non fisso ?
Principalmente perchè per gli smartphone l'IP pubblico è normalmente condiviso tra più dispositivi: concettualmente a ognuno viene fornito dal proprio operatore un IP privato e tramite i svariati proxy dell'operatore si comunica su Internet tramite un IP pubblico condiviso (ovviamente con un certo rapporto IP / dispositivi).
(Once upon a time) .... c'era un tempo in cui il rapporto di condivisione era più o meno 1 / 25 (cioè 1 IP pubblico ogni 25 dispositivi).
Questo fà si concettualmente che un dispositivo a Trieste possa uscire con lo stesso IP di uno di Cagliari, rendendo quantomeno difficile (se non improbabile) la geolocalizzazione tramite IP.
Le singole applicazioni possono usare però ulteriori tecniche (OVVIAMENTE ESCLUDIAMO IL GPS .... QUELLO E' PRECISO A PRIORI), che sono di comune uso, per consentire una geolocalizzazione più precisa: ad esempio scansionare reti wifi e bluetooth per cercare di abbinare dati consistenti e consentire una localizzazione più precisa.
Tutto ciò normalmente (in stile google, evviva la privacy) viene inviato a dei server che elaborano tutte le informazioni incrociate e forniscono poi un risultato normalmente più preciso e adeguato..
Nella mia rete aziendale dove in tutti i dispositivi la geolocalizzazione è disattivata, gli IP pubblici (fissi) vengono generalmente localizzati alla sede "tecnica" del mio provider (in un'altra regione ...).
Ora da poco ho aggiunto il mio smartphone con la geolocalizzazione precisa (quindi anche usando il GPS) per i servizi google nella rete aziendale e la geolocalizzazione "incomincia" ad avvicinarsi alla realtà.
Quella di rete (operatore) dello smartphone è assolutamente inattendibile come riportato anche da @shisandrea (essendo dinamico non può essere altrimenti).