Как загрузить шейп-файл в gwt-openlayers
Мы создаем приложение с использованием GWT-Openlayers (не OpenLayers) и должны позволить пользователю загружать многоугольник из шейп-файла. Удивительно, но, кажется, нет очевидного решения. Наиболее близкими решениями являются библиотеки javascript для интерпретации шейп-файлов, но решение javascript на самом деле не помогает в приложении GWT. Любые рекомендации?
Заранее спасибо!
1 ответ
Не имея более простого решения, я использовал следующий подход:
- Используйте GWT FormPanel и FileUpload, чтобы позволить пользователю выбрать файл для загрузки
- Создать собственный сервлет для обработки запроса
- FormPanel отправляет составной POST содержимого файла в сервлет
- Сервлет передает содержимое файла в анализатор для преобразования в хорошо известный текст (WKT).
- Сервлет возвращает WKT в HttpResponse
- Код на стороне клиента преобразует WKT в векторную функцию gwt-openlayers и добавляет ее на карту
Конечно, это не элегантное решение, но, похоже, работает. Если кто-то найдет лучшее решение, было бы здорово услышать.