Ti servirà sicuramente qualche API esterna, verosimilmente Goggle Maps, Here Maps, Openstreet Maps ecc...
Da scegliere in base alle tue esigenze, soprattutto in base a quante query prevedi di fare verso l'API e non saranno pochissime vista la funzionalità che cerchi, ogni volta dovrai confrontare un indirizzo verso altri n.
Devi vedere tra le varie API se già mettono a disposizione un servizio per cui gli dai 2 indirizzi e ti ritorna la loro distanza (in linea d'aria o via strada, non so come ti serve).
Nel case nessuno abbia questo servizio o chi lo mette a disposizione non vuoi usarlo per altri motivi, l'alternativa sarà richiedere la posizione GPS dei due indirizzi e poi calcolarti tu la distanza con la formula di Haversine, potresti usare il teorema di Pitagora, ma su lunghe distanze sbaglia di tanto a causa della curvatura della superficie terrestre. Se invece sei terrapiattista funziona sempre bene anche Pitagora
Altra soluzione è quella di salvarti le coordinate di un indirizzo ogni volta che ne inserisci uno nuovo nel DB, così da richiederle una volta sola per ogni indirizzo, e poi utilizzarle per la distanza in linea d'aria senza chiederle di nuovo al servizio API.


Rispondi quotando
