【问题标题】:How to set default layer visible in openlayers 2如何在openlayers 2中设置默认图层可见
【发布时间】:2014-08-28 07:20:54
【问题描述】:

我在 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);

map.addControl(new OpenLayers.Control.LayerSwitcher());

初始化后我尝试了:

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

【问题讨论】:

    标签: javascript dictionary openlayers


    【解决方案1】:

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

    var selLayer = map.getLayersByName(selectedLayer);
    if (selLayer !== null) {        
        map.setBaseLayer(selLayer);        //<---Wrong
    }
    

    正确的解决方案是:

    var selLayer = map.getLayersByName(selectedLayer);
    if (selLayer !== null) {        
        map.setBaseLayer(selLayer[0]);        //<--Good
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      相关资源
      最近更新 更多