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

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

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

Сообщение Alone »

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

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

Можно ли в gml ответа внедрить информацию о слое, на который должен быть помещен объект?
Или же писать свой обработчик и инкапсулировать его в обработку ответа GetFeature?
Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

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

Сообщение Alone »

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

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

Сообщение Denis Rykov »

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

[ Сообщение с мобильного устройства ]
Spatial is now, more than ever, just another column- The Geometry Column.
Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

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

Сообщение Alone »

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

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

Сообщение 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.
Spatial is now, more than ever, just another column- The Geometry Column.
Alone
Интересующийся
Сообщения: 31
Зарегистрирован: 20 дек 2011, 23:32
Репутация: 0

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

Сообщение Alone »

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

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя