Добрый день.
Задача такова: есть 2 слоя - A и B
- сначала грузиться A на него навешивается OpenLayers.Control.SelectFeature
- при клике на feature слоя A данная feature ставиться невидимой, создается слой B
- слой B отображается на карте затем к ней подключается тот же OpenLayers.Control.SelectFeature, и в этот момент
выбранная feature слоя A становится видимой. ВОПРОС: как оставить feature слоя A скрытой?
Установка feature.attributes['visibility'] = false; не дает результата.
Кто знает, подскажите, пожалуйста.
Openlayers - скрыть feature
-
- Интересующийся
- Сообщения: 24
- Зарегистрирован: 04 июн 2012, 22:36
- Репутация: 0
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Openlayers - скрыть feature
Или становится? Каким образом вы скрываете фичу?bratok писал(а):ставиться невидимой
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 24
- Зарегистрирован: 04 июн 2012, 22:36
- Репутация: 0
Re: Openlayers - скрыть feature
Спасибо разобрался уже, вся загвоздка в методе
OpenLayers.Control.SelectFeature.prototype.setLayer
там есть вызов такой команды this.unselectAll() которая и снимает все ранее сделанные выделения
добавил свою функцию addLayer на основе setLayer
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();
}
}
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей