Ich möchte eine Möglichkeit implementieren, eine Liste gespeicherter Adressen anzuzeigen, sortiert nach Nähe zu einer bestimmten Adresse.Welche bereits vorhandenen Dienste existieren zur Berechnung der Entfernung zwischen zwei Adressen?
Adressen in der Liste werden in einer Datenbanktabelle gespeichert. Getrennte Teile haben getrennte Felder (wir haben Felder für Postleitzahl, Stadtname, etc.), also ist es nicht nur ein Riese varchar
. Diese sind vom Benutzer eingegeben und aufgrund der Art des Systems möglicherweise nicht immer vollständig (einige möglicherweise Postleitzahl fehlen und andere können wenig mehr als Stadt und Staat).
Obwohl dies für eine Intranet-Anwendung ist, habe ich keine Probleme mit externen Ressourcen einschließlich Zugriff auf Internet-Web-Services und solche. Ich würde das lieber überrollen, wenn es nicht einfach wäre, es selbst zu tun. Wenn Google oder Yahoo! bietet bereits einen kostenlosen Service, ich bin mehr als bereit, es zu überprüfen. Das Schlüsselwort ist, dass es frei sein muss, da ich nicht in der Lage bin, zusätzliche Kosten für dieses Feature in dieses Projekt einzubringen, da es sozusagen schon ein Bonus "Perk" ist.
Ich denke an so viel wie viele Ziegel & Mörtel-Läden tun ihre "Find a Location" -Funktion. Es in einer einfachen Tabelle zu zeigen, sortiert angemessen und Anzeigeabstand (in, sagen, Meilen) ist groß. Das Map Mash-Up ist noch cooler, aber ich kann definitiv damit leben, dass ich nur die Entfernung zurück bekomme und mich mit der gesamten nachfolgenden Anzeige und Sortierung beschäftige.
Das Problem mit einfachen Abstandsalgorithmen ist die Art der Daten. Da die Adresse ganz oder teilweise undefiniert sein kann, habe ich nichts Bequemes wie lat/long coords. Auch wenn ich Postleitzahlen benötige, werden 90% der Adressen wahrscheinlich die gleichen fünf Postleitzahlen haben.
Obwohl es nicht blitzartig schnell sein muss, ist alles, was aufgrund der Latenz mehr als sieben Sekunden auf der Seite angezeigt wird, für den durchschnittlichen Benutzer zu lang, wie wir wissen. Wenn ein solcher hypothetischer Dienst das Senden eines Stapels von Adressen auf einmal unterstützt, statt nur einzeln zu fragen, wäre das großartig. Dennoch sollte ich nicht denken, dass die Liste der Adressen insgesamt 50 überschreiten würde, wenn das viele wären.
Ich werde mich definitiv darum kümmern. Wir haben bereits innerhalb eines anderen Teils dieses Systems eine Verbindung zu Yahoo! Karten, um Ortsinformationen für beliebig eingegebene Adressen zu geben. Aber in diesem Fall brauchte ich keine Nähe ... –
Bitte sagen Sie, welche Lösung Sie benutzt haben ... damit auch andere davon profitieren können ... Ich habe auch ein ähnliches Problem ... http://stackoverflow.com/questions/7426710/how-to-find-the-distance-between-two-zipcodes-using-java-code – aProgrammer