Страница 1 из 1

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

Добавлено: 08 июн 2012, 12:29
Alone
Добрый день всем.

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

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

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

Добавлено: 08 июн 2012, 17:32
Alone
Отчасти понимаю, что как то должен юзаться евент beforefeaturesadded...
пролейте свет, плиз...

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

Добавлено: 08 июн 2012, 18:29
Denis Rykov
Для начало неплохо было бы озвучить используемое ПО.

[ Сообщение с мобильного устройства ]

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

Добавлено: 11 июн 2012, 14:08
Alone
Пардон, OpenLayers

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

Добавлено: 13 июн 2012, 07:14
Denis Rykov
Ни разу не использовал в своих проектах этот контрол, поэтому в качестве примера возьмем пример из 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.

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

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