ответ GetFeature в разные слои. Как?

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

ответ GetFeature в разные слои. Как?

Сообщение Alone » 08 июн 2012, 12:29

Добрый день всем.

Есть у меня контрол getFeature. Мне нужно что бы возвращаемые сервером объекты раскладывались по разным слоям.
Можно ли как то реализовать подобную задумку?

Можно ли в gml ответа внедрить информацию о слое, на который должен быть помещен объект?
Или же писать свой обработчик и инкапсулировать его в обработку ответа GetFeature?

Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

Re: ответ GetFeature в разные слои. Как?

Сообщение Alone » 08 июн 2012, 17:32

Отчасти понимаю, что как то должен юзаться евент beforefeaturesadded...
пролейте свет, плиз...

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ответ GetFeature в разные слои. Как?

Сообщение Denis Rykov » 08 июн 2012, 18:29

Для начало неплохо было бы озвучить используемое ПО.

[ Сообщение с мобильного устройства ]
Spatial is now, more than ever, just another column- The Geometry Column.

Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

Re: ответ GetFeature в разные слои. Как?

Сообщение Alone » 11 июн 2012, 14:08

Пардон, OpenLayers

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ответ GetFeature в разные слои. Как?

Сообщение Denis Rykov » 13 июн 2012, 07:14

Ни разу не использовал в своих проектах этот контрол, поэтому в качестве примера возьмем пример из OpenLayers: WFS GetFeature Example (GeoServer). Открываете консоль и вводите следующий код:

Код: Выделить всё

states = new OpenLayers.Layer.Vector('states');
map.addLayer(states);
lSwitcher = new OpenLayers.Control.LayerSwitcher();
map.addControl(lSwitcher);
lSwitcher.maximizeControl();
map.layers[1].setVisibility(false);
map.layers[2].setVisibility(false);
control.events.register("hoverfeature", this, function(e) {
    feat = e.feature;
    if (feat.fid.split('.')[0] === 'states') {
        states.addFeatures([feat]);
    }   
});
Теперь по hover-у фича будет добавляться в новый слой states.
Spatial is now, more than ever, just another column- The Geometry Column.

Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

Re: ответ GetFeature в разные слои. Как?

Сообщение Alone » 13 июн 2012, 15:29

Денис, спасибо.
Примерно таким путем и я пошел.
Переопределил у getFeature его реквест, и разбирая ответ, ложу объекты на нужный мне слой.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 1 гость