Ciao,
io per calcolare la distanza tra due città lo faccio in linea d'aria, lato php, avendo le due coordinate geografiche(partenza, arrivo).
Le coordinate d'arrivo ovviamente le ho già lato server; quando l'utente sceglie una città, lato client, faccio una chiamata asincrona a google maps e compilo un campo input occulto con le cordinate di partenza.
Il server riceve i dati e calcola qual è la citta più vicina(se ti interessa ti posto la classe), in base a quello rispondo con la città più vicino e, lato client, calcolo il tragitto su strada.
Avviamente non è affidabile al 100% in quanto se c'è ad esempio una montagna in mezzo, non è detto che quella sia la città più vicina su strada, però, per quello che faccio io, mi va benissimo.
Volendo potresti anche aggiungere un bottone di geolocalizzazione(in questo caso l'utente ti dovrebbe dare l'autorizzazione).
Attenzione però, su un pc avresti una "precisione" con un margine d'errore di 25Km.
Su un pc collegato a una rete wifi, il margine d'errore sarebbe di pochi metri, mentre su un cellulare sarebbe preciso.
Roberto

Rispondi quotando
