2011-05-03 3 views
1

У меня есть openlayers, geoserver и postgis/postgres, работающие довольно красиво. Я пытаюсь создать приложение, которое позволяет пользователю добавлять точку к карте. После создания точки мне нужна всплывающая форма для отображения с различными элементами управления, которые позволяют пользователю вводить информацию о местоположении, в которое была добавлена ​​точка.сохранение ввода пользователя в стратегию таблицы postgis

С помощью postgis я создаю отдельную таблицу для хранения пользовательского ввода на основе ключа p добавленной точки? Мне кажется, что это хорошая идея, но я заметил, что добавленное событие openlayers запускается до того, как точка добавляется в базу данных. Могу ли я использовать геосервер для обработки сохранения ввода пользователя, или мне нужно создать собственный модуль для обработки ввода пользователя?

ответ

2

«featureadded» event в OpenLayers полностью клиентский, который возникает, когда вы добавляете функцию в векторный слой. Он не имеет понятия, сохраните ли вы функцию в базе данных или нет.

Почему бы вам не сделать это так:

  1. Пользователь добавляет точку на карте.
  2. На «» featureadded случае вы показать всплывающее окно с полями ввода и кнопку «Сохранить»
  3. Когда пользователь нажимает «Сохранить», вы сохраните как точки и входные данные, используя OpenLayers.Strategy.Save() с помощью WFS-T
+0

спасибо @igorti, что звучит как хорошая идея. Выполнение этого способа, хотя все пользовательские данные должны быть сохранены в таблице геометрии. Я надеялся разделить его. –

+0

Почему вы хотите сохранить геометрию и атрибуты в отдельных таблицах? – igorti

+0

Нет конкретной причины, я думаю, просто хотел бы отделить данные геометрии от данных атрибута. Если это невозможно сделать, это не является серьезной проблемой. –

Смежные вопросы