Я пытаюсь обновить свою карту Openlayers 2.12 до Openlayers 3, чтобы воспользоваться фантастическими эффектами перехода на прозрачных слоях (что-то OL2 и Leaflet не могут сделать привлекательно). Это и я не хочу отставать от обновления моих сайтов, когда OL3 официально выпущен. На моем текущем сайте (OL2.12) я использую флажки в простом меню HTML, чтобы переключать видимость слоя. Я помещаю каждый слой в массив (надеюсь, я прав, полагая, что OL3 теперь автоматически генерирует массив для слоев, называемых «слоями»), и каждый флажок вызывает эту функцию (флажкам присваивается значение, соответствующее номеру массива их слоев. ):
function layerswitch(evt){
layers[evt.value].setVisibility(evt.checked);
}
В OL3 это больше не работает, и я не могу найти примеры или документацию, в которых подробно описывается, как настроить видимость слоя.
источник
Арагон, твой ответ указал мне правильное направление. Ниже мой последний нечистый код для добавления слоев в массив и последующего управления ими.
В файле javascript я инициализировал карту и использовал функцию для переключения видимости следующим образом:
В HTML я использовал простые флажки (пример переключения poly1):
источник
Ниже приведена ссылка на дополнение к OpenLayers 3 с переключателем слоев в стиле ol2.
https://github.com/walkermatt/ol3-layerswitcher
источник