Я хотел бы реализовать способ отображения списка сохраненных адресов, отсортированных по близости к указанному адресу.
Адреса в списке будут сохранены в таблице базы данных. Отдельные части имеют отдельные поля (у нас есть поля для почтового индекса, название города и т.д.), Поэтому он не просто гигантский varchar
. Они введены пользователем и из-за характера системы не всегда могут быть полными (некоторые могут отсутствовать почтовый индекс, а другие могут иметь немного больше, чем город и состояние).
Хотя это для приложения интрасети, у меня нет проблем с использованием внешних ресурсов, включая доступ к интернет-сервисам и тому подобное. Я бы предпочел, чтобы это перевернуло мое собственное, если бы не было тривиально делать сам. Если Google или Yahoo! уже предоставляет бесплатный сервис, я более чем готов его проверить. Ключевое слово должно быть бесплатным, так как я не имею права вводить какие-либо дополнительные затраты на этот проект для этой функции, поскольку это уже бонус "перк", так сказать.
Я думаю об этом, так как многие кирпичные и минометные магазины выполняют функцию "Найти местоположение". Показывая его в простой таблице, отсортированной соответствующим образом и отображающей расстояние (в, скажем, мили), отлично. Показывать карту mash-up еще круче, но я определенно могу жить с тем, чтобы просто получить расстояние назад, и я обрабатываю все последующие отображения и сортировки.
Проблема с простыми дистанционными алгоритмами - это характер данных. Поскольку все или часть адреса может быть undefined, у меня нет ничего удобного, например, lat/long coords. Кроме того, даже если я делаю почтовые коды, 90% адресов, вероятно, будут иметь те же пять почтовых кодов.
В то время как это не обязательно должно быть быстро, все, что занимает более семи секунд, чтобы отображаться на странице из-за задержки, может быть слишком большим для обычного пользователя, как мы знаем. Если такая гипотетическая служба поддерживает отправку пакета адресов одновременно, а не запрос по одному, это было бы здорово. Тем не менее, я не должен думать, что список адресов превысит 50, если это много.