簡體   English   中英

如何設置默認圖層在openlayers 2中可見

[英]How to set default layer visible in openlayers 2

我在開放層中有兩層和切換器。 立即初始化后,我想將第二層設置為可見,但仍顯示第一層。 我嘗試過: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);

好的,我發現了問題。 我使用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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM