Javascript 如何设置openlayers 2中的默认可见层

Javascript 如何设置openlayers 2中的默认可见层,javascript,dictionary,openlayers,Javascript,Dictionary,Openlayers,我有两个层和openlayers中的切换器。在初始化之后,我想立即将第二层设置为可见,但仍然显示第一个添加的层。 我尝试过:setVisibility,setBaseLayer,但没有成功。 下面是代码的一部分: var gmapLayer = new OpenLayers.Layer.Google("Google sattelite", { type: google.maps.MapTypeId.SATELLITE, visibility: false }); var gmapStreetLa

我有两个层和openlayers中的切换器。在初始化之后,我想立即将第二层设置为可见,但仍然显示第一个添加的层。 我尝试过:setVisibility,setBaseLayer,但没有成功。 下面是代码的一部分:

var gmapLayer = new OpenLayers.Layer.Google("Google sattelite", { type: google.maps.MapTypeId.SATELLITE, visibility: false });
var gmapStreetLayer = new OpenLayers.Layer.Google("Google streets", { visibility: false });
map.addLayer(gmapLayer);
map.addLayer(gmapStreetLayer);
addControl(新的OpenLayers.Control.LayerSwitcher())

在初始化之后,我尝试:

map.setBaseLayer(selLayer);
//or
selLayer.setVisibility(true);

好的,我发现了问题。我使用setBaseLayer时出错,因为调用了数组查看:

var selLayer = map.getLayersByName(selectedLayer);
if (selLayer !== null) {        
    map.setBaseLayer(selLayer);        //<---Wrong
}
var selLayer=map.getLayersByName(selectedLayer);
如果(selLayer!==null){
地图设置层(selLayer)//
var selLayer = map.getLayersByName(selectedLayer);
if (selLayer !== null) {        
    map.setBaseLayer(selLayer[0]);        //<--Good
}