OpenLayers: появление слоя после отключения

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

OpenLayers: появление слоя после отключения

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

На карте есть 2 слоя - layer1 и layer2, один из них (условно назовём его layer2) при создании имеет признак visibility = false. Создан контрол SelectFeature для слоя layer1 и добавлена функция:

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

 onSelect: function(evt) {
    map.zoomToExtent(evt.geometry.bounds);
    layer1.display(false);
    layer2.visibility = true;
    layer2.redraw();
 }
Всё ок, но почему после того, как двинуть карту (Pan), снова появляется layer1, ведь он отключен?
Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayers: появление слоя после отключения

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

Почти разобрался, вот рабочий вариант:

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

onSelect: function(evt) {
    map.zoomToExtent(evt.geometry.bounds);
    layer1.visibility = false;
    layer1.display(false);
    layer2.visibility = true;
    layer2.redraw();
}
Но почему недостаточно просто сказать layer1.display(false)?
Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: OpenLayers: появление слоя после отключения

Сообщение Mavka »

Нужно использовать метод setVisibility. Он делает все то что вы написали и еще хитрые финты. В ООП вообще нужно осторожно менять свойства напрямую, особенно если есть соответствующий метод.

P.S. Мой персональный 1k-гет.
лангольеры под окном жрали время ом-ном-ном
Ответить

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

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

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