Интересный проект, тесно связанный с технологиями Яндекс.Карт и задачей интеграции в корпоративную систему, построенную на базе 1С.
В рамках проекта были решены две задачи…
Задача первя: Геокодер.
Имелась объёмная база адресов, для каждого из которых требовалось получить координаты с целью их дальнейшего отображения на карте. Так как лицензия Яндекса, владельца выбранного для работы геокодера, запрещала выполнение нужного количества запросов на геокодирования адресов в реальном времени (планировалось одновременно отображать на карте десятки и сотни тысяч точек) было принято решение о создании кеша геокодов. Для этого был разработан сервис геокодирования, который ежесуточно отправлял к геокодеру яндекса максимально-разрешённое количество запросов и сохранял его ответы в кеше в базе данных проекта.
Задача вторая: Просмотр карты.
В рамках этой задачи программный комплекс заказчика формировал массив данных: адрес, макет точки для её отображения на карте, её описание. Разработанный сервис просмотра, в свою очередь, выводил отобранные точки на карте, при необходимости выполняя кластеризацию результатов, давая возможность выполнить «живой» поиск точки на карте, а так же временно скрыть их все. Основная же задача вьювера была в том, что бы дать возможность пользователю из всех предложенных ему сотен и тысяч точек отобрать интересующие именно его и передать эту выборку назад в программный комплекс заказчика.
Использованные технологии:
- Проект: SVN
- Проект: Maven
- Проект: Jetbrains Idea
- Платформа: Resin
- Платформа: Spring MVC
- Яндекс.Карты: Сервис геокодирования
- Яндекс.Карты: JavaScript API
- Яндекс.Карты: Кластеризация
- Яндекс.Карты: Динамическая загрузка информации о точках
- Базы данных: Spring JDBC
- Базы данных: Microsoft SQL Server 2014