me gustaría poner en práctica una forma de mostrar una lista de direcciones almacenadas ordenados por proximidad a una dirección dada.¿Qué servicios preexistentes existen para calcular la distancia entre dos direcciones?
direcciones de la lista serán almacenados en una tabla de base de datos. Las partes separadas tienen campos separados (tenemos campos para el código postal, el nombre de la ciudad, etc.) por lo que no es solo un gigante varchar
. Estos son ingresados por el usuario y debido a la naturaleza del sistema pueden no estar completos (algunos pueden perder el código postal y otros pueden tener poco más que ciudad y estado).
Aunque se trata de una aplicación de intranet que no tengo problemas con el uso de recursos externos, incluyendo el acceso a los servicios web de Internet y tal. En realidad, preferiría que superara la mía a menos que fuera trivial hacerlo yo mismo. Si Google o Yahoo! ya ofrece un servicio gratuito, estoy más que dispuesto a verificarlo. La palabra clave es que debe ser gratuita, ya que no tengo la libertad de introducir ningún costo adicional en este proyecto para esta función, ya que es una "ventaja" extra por así decirlo.
estoy pensando en esto mucho al igual que muchas tiendas de ladrillo y mortero de & hacen su función "Buscar una ubicación". Mostrarlo en una tabla simple ordenada de forma adecuada y mostrar la distancia (en, por ejemplo, millas) es excelente. Mostrar un mapa mash-up es aún más genial, pero definitivamente puedo vivir con solo recuperar la distancia y manejar todo el despliegue y la clasificación subsiguientes.
El problema con algoritmos de distancia simples es la naturaleza de los datos. Debido a que la totalidad o parte de la dirección puede estar indefinida, no tengo nada conveniente como coordenadas lat/long. Además, incluso si configuro códigos postales, el 90% de las direcciones probablemente tendrán los mismos cinco códigos postales.
Si bien no tiene que ser extremadamente rápido, cualquier cosa que demore más de siete segundos en aparecer en la página debido a la latencia podría ser demasiado larga para que el usuario promedio espere, como sabemos. Si dicho servicio hipotético admite enviar un lote de direcciones a la vez en lugar de consultar uno a la vez, sería genial. Aún así, no creo que la lista de direcciones exceda el total de 50, si es que hay muchas.
Definitivamente voy a investigar esto. Ya, en otra parte de este mismo sistema, tenemos un enlace a Yahoo! Mapas para dar información de ubicación para direcciones ingresadas arbitrariamente. Pero en ese caso no necesitaba ningún tipo de proximidad ... –
por favor diga qué solución ha usado ... para que otros también puedan beneficiarse de ella ... También tengo un problema similar ... http://stackoverflow.com/questions/7426710/how-to-find-the-distance-between-two-zipcodes-using-java-code – aProgrammer