首先,对不起我的英语,但不是我的母语。我想问你是否知道为什么我的地图不起作用。我有两个带有地理服务器的 WMS 和与 OpenLayers 一起工作的 OSM。三张地图正在显示,问题是当 OSM 为“打开”时,另外 2 张在后面并且没有显示。这是我的代码。
function init(){
var map = new OpenLayers.Map({
div: "map",
projection: new OpenLayers.Projection("EPSG:900913"),
allOverlays: true,
});
//Geoserver WMS
var towns = new OpenLayers.Layer.WMS( "Towns",
"http://XXXX/geoserver/isle/wms", {layers: 'isleofwight:Towns', transparent: true}, {visibility: false},{isBaseLayer: false});
map.addLayer(towns);
var outline = new OpenLayers.Layer.WMS( "Outline",
"http://XXXX/geoserver/isle/wms", {layers: 'isleofwight:Outline', transparent: true}, {visibility: false},{isBaseLayer: false});
map.addLayer(outline);
var osm = new OpenLayers.Layer.OSM("Open Street Map");
map.addLayer(osm);
非常感谢
由于我无法回答同样的问题,我编辑说我找到了解决方案,以防万一有人需要它,问题是一层一层地插入,你必须同时添加所有层。
map.addLayers([osm, towns, outline]);
现在工作正常:D