Openlayers - скрыть feature

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
bratok
Интересующийся
Сообщения: 24
Зарегистрирован: 04 июн 2012, 22:36
Репутация: 0

Openlayers - скрыть feature

Сообщение bratok »

Добрый день.
Задача такова: есть 2 слоя - A и B
- сначала грузиться A на него навешивается OpenLayers.Control.SelectFeature
- при клике на feature слоя A данная feature ставиться невидимой, создается слой B
- слой B отображается на карте затем к ней подключается тот же OpenLayers.Control.SelectFeature, и в этот момент
выбранная feature слоя A становится видимой. ВОПРОС: как оставить feature слоя A скрытой?
Установка feature.attributes['visibility'] = false; не дает результата.

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

Re: Openlayers - скрыть feature

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

bratok писал(а):ставиться невидимой
Или становится? Каким образом вы скрываете фичу?
Spatial is now, more than ever, just another column- The Geometry Column.
bratok
Интересующийся
Сообщения: 24
Зарегистрирован: 04 июн 2012, 22:36
Репутация: 0

Re: Openlayers - скрыть feature

Сообщение bratok »

Спасибо разобрался уже, вся загвоздка в методе
OpenLayers.Control.SelectFeature.prototype.setLayer
там есть вызов такой команды this.unselectAll() которая и снимает все ранее сделанные выделения

добавил свою функцию addLayer на основе setLayer

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

OpenLayers.Control.SelectFeature.prototype.addLayer = function(layer) {
        var layers = this.layers; 
        var isActive = this.active;
        //this.unselectAll(); <- what you need
        this.deactivate();
        if(this.layers) {
            this.layer.destroy();
            this.layers = null;
        }
        this.initLayer(layers);
        this.handlers.feature.layer = this.layer;
        if (isActive) {
            this.activate();
        }
      }
Ответить

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

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

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