Implementare ricerca comuni in relazione ad un raggio espresso in km

sabato 04 febbraio 2012 - 09.43
Tag Elenco Tags  C#  |  .NET 3.5  |  Visual Studio 2010

andrestu Profilo | Expert

Salve a tutti,
ho creato per un sito che tratta annunci immobiliari una pagina in cui c'è la possibilità di filtrare gli annunci ricercati in base a regione, provincia e comune.
Ovviamente la lista delle relative località viene prelevata da un db e in base alla scelta effettuata tramite delle dropdown i dati vengono filtrati, e fin qui niente di fantastico, normale amministrazione direi senonchè il cliente mi ha fatto una richiesta che mi ha lasciato abbastanza disorientato.
Vorrebbe effettuare la ricerca in base al chilometraggio!!! e cioè scelto un comune (tramite dropdown) ci sarà un'altra dropdown con un lista del tipo:
nel raggio di - 3 km - 5 km - 10 km - etc.
quindi da come potete intuire il risultato dovrà contenere tutti i comuni compresi nel raggio scelto a partire dal comune scelto, avete una vaga idea di come si potrebbe implementare ???
Si potrebbe aggiungere nella base dati in corrispondenza di ogni comune delle coordinate bidimensionali rispetto ad una mappa virtuale e poi durante l'interrogazione eseguire i relativi calcoli, mi sembra una soluzione un pò grossolana e dispendiosa in termini di tempo.
Avete qualche suggerimento?
Sapete se google map fornisce nelle sue API un qualche servizio che restituisce questo tipo di quey?

Andrea Restucci - Web Developer

martinez Profilo | Senior Member

Ciao
l'unico sistema funzionante che conosco utile al tuo scopo è: The Google Distance Matrix API
reperibile qui http://code.google.com/intl/it-IT/apis/maps/documentation/distancematrix/

praticamente dati due punti (coordinate latitudine e longitudine oppure un indirizzo valido) ti viene ritornato un file json o xml che oltre alla distanza tra i due punti ti indica anche il tempo di percorrenza :)

ti consiglio di fare alcuni esperimenti per capire a fondo come funziona.

Saluti

andrestu Profilo | Expert

ok, grazie per il suggerimento, andrò a leggermi i dettagli.
Sarebbe stato meglio un servizio più automatico, e cioè dato un certo punto vorrei ricevere una lista di tutti i punti (comuni) entro una certa distanza, ma meglio che niente...


Andrea Restucci - Web Developer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5