Как загрузить шейп-файл в gwt-openlayers

Мы создаем приложение с использованием GWT-Openlayers (не OpenLayers) и должны позволить пользователю загружать многоугольник из шейп-файла. Удивительно, но, кажется, нет очевидного решения. Наиболее близкими решениями являются библиотеки javascript для интерпретации шейп-файлов, но решение javascript на самом деле не помогает в приложении GWT. Любые рекомендации?

Заранее спасибо!

1 ответ

Не имея более простого решения, я использовал следующий подход:

  • Используйте GWT FormPanel и FileUpload, чтобы позволить пользователю выбрать файл для загрузки
  • Создать собственный сервлет для обработки запроса
  • FormPanel отправляет составной POST содержимого файла в сервлет
  • Сервлет передает содержимое файла в анализатор для преобразования в хорошо известный текст (WKT).
  • Сервлет возвращает WKT в HttpResponse
  • Код на стороне клиента преобразует WKT в векторную функцию gwt-openlayers и добавляет ее на карту

Конечно, это не элегантное решение, но, похоже, работает. Если кто-то найдет лучшее решение, было бы здорово услышать.

Другие вопросы по тегам