我發現了很多的例子來說明如何添加/使用LayerSwitcher除去疊加到自己的OpenLayers地圖。我的目的是提供一種LayerSwitcher只允許一個地圖服務提供商(例如Google地圖和開放街道地圖)一次。 LayerSwitcher類有可能嗎?的OpenLayers切換地圖服務提供商
我想這說明我想有開關以下,但只有第一層可以可視化!
var osmLayer = new OpenLayers.Layer.OSM("Open Street Maps",
["http://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
"http://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
"http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
],
{visibility: true, isBaseLayer: true});
var wmsLayer = new OpenLayers.Layer.WMS("OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers: 'basic'},
{visibility: true, isBaseLayer: true});
this.map = new OpenLayers.Map({
div: divname,
allOverlays: false,
theme: null,
controls: [
new OpenLayers.Control.LayerSwitcher(),
]
});
this.map.addLayers([osmLayer, wmsLayer]);
this.map.setCenter(
new OpenLayers.LonLat(8.56, 50).transform(
new OpenLayers.Projection("EPSG:4326"),
this.map.getProjectionObject()
), 10
);
如果我選擇第二個條目,則地圖上不會顯示任何內容,選擇第一個條目後再次顯示OSM地圖。
在此先感謝!
我想可能有事情做與WMS層,因爲當我加入谷歌地圖如下:新OpenLayers.Layer.Google(「谷歌地圖」,{可見性:真實,isBaseLayer:真}),它的工作原理! – janr 2012-03-27 08:12:58