まず、私の英語で申し訳ありませんが、母国語ではありません。マップが機能しない理由をご存知でしたら、お尋ねしたいと思います。Geoserver を備えた 2 つの WMS と、OpenLayers を使用する OSM があります。3 つのマップが表示されています。問題は、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);
どうもありがとうございました
同じ質問に答えられないので、誰かがそれを必要とする場合に備えて、解決策を見つけたと編集して言います。問題は、レイヤーを 1 つずつ挿入することでした。すべてを同時に追加する必要があります。
map.addLayers([osm, towns, outline]);
今は完全に機能しています:D