Я хотел бы реализовать способ отображения списка сохраненных адресов, отсортированных по близости к данному адресу.Какие существуют существующие службы для расчета расстояния между двумя адресами?
Адреса в списке будут храниться в таблице базы данных. Отдельные части имеют отдельные поля (у нас есть поля для почтового индекса, название города и т. Д.), Поэтому он не просто гигантский varchar
. Они введены пользователем и из-за характера системы не всегда могут быть полными (некоторые могут отсутствовать почтовый индекс, а другие могут иметь чуть больше города и штата).
Хотя это для приложения интрасети, у меня нет проблем с использованием внешних ресурсов, включая доступ к веб-службам Интернета и тому подобное. Я бы предпочел, чтобы это перевернуло мое собственное, если бы не было тривиально делать сам. Если Google или Yahoo! уже предоставляет бесплатный сервис, я более чем готов его проверить. Ключевое слово должно быть бесплатным, так как я не имею права вводить какие-либо дополнительные затраты на этот проект для этой функции, так как это уже бонус «перк», так сказать.
Я думаю об этом, как и многие кирпичные & минометные магазины выполняют функцию «Найти местоположение». Показывая его в простой таблице, отсортированной соответствующим образом и отображающей расстояние (в, скажем, мили), отлично. Показывать карту mash-up еще холоднее, но я определенно могу жить, просто получив дистанцию, и я обрабатываю все последующие отображения и сортировки.
Проблема с простыми алгоритмами расстояния - это характер данных. Поскольку все или часть адреса может быть неопределенным, у меня нет ничего удобного, например, лат/длинные координаты. Кроме того, даже если я делаю необходимые почтовые коды, 90% адресов, вероятно, будут иметь одинаковые пять почтовых кодов.
Хотя это не должно быть быстро, все, что занимает более семи секунд, чтобы отображаться на странице из-за латентности, может быть слишком большим, чтобы средний пользователь мог подождать, как мы знаем. Если такая гипотетическая служба поддерживает отправку пакета адресов одновременно, а не запрос по одному, это было бы здорово. Тем не менее, мне не следует думать, что список адресов превысил бы 50, если бы их было много.
Я обязательно посмотрю на это. Мы уже, в рамках другой части этой же системы, ссылаемся на Yahoo! Карты, чтобы указать информацию о местоположении для произвольно введенных адресов. Но в этом случае мне не нужна какая-либо близость ... – 2008-09-22 18:02:25
, пожалуйста, сообщите, какое решение вы использовали ... чтобы другие могли также извлечь выгоду из этого ... У меня также есть аналогичная проблема ... http: /stackoverflow.com/questions/7426710/how-to-find-the-distance-between-two-zipcodes-using-java-code – aProgrammer 2011-09-16 07:33:47