如何在一个组中添加两个或更多层,以便可以在layerswitcher中看到它们的分类,并可以选择或取消选择所有!
这是我的代码:
var line_1 = new OpenLayers.Layer.Vector(" Line no - 1", {
visibility: true,
projection: dproj,
strategies: [new OpenLayers.Strategy.Fixed()],
style: {strokeWidth: 4, strokeColor: "#ff0000", strokeOpacity: 1},
protocol: new OpenLayers.Protocol.HTTP({
url: "lines/en/line_1.kml",
format: new OpenLayers.Format.KML
})
});
var line_2 = new OpenLayers.Layer.Vector(" Line no - 2", {
visibility: true,
projection: dproj,
strategies: [new OpenLayers.Strategy.Fixed()],
style: {strokeWidth: 4, strokeColor: "#008000", strokeOpacity: 1},
protocol: new OpenLayers.Protocol.HTTP({
url: "lines/en/line_2.kml",
format: new OpenLayers.Format.KML
})
});
var layers = [line_1, line_2]
map.addLayers(layers);
现在,如何用“ Lines”这个名字合二为一?
解决方法:
我认为GeoExt.tree是您想要的.
看到这封邮件:
OpenLayers’ layer switcher does not support layer hierarchy and will
probably never do. I’d recommend checking out the layer tree of
MapFish (http://www.mapfish.org). MapFish layer tree is either
auto-configured based on the layers configured in OpenLayers or
configured through a user-specified model
http://www.osgeo.org/pipermail/openlayers-users/2008-June/006358.html
在这里查看:
http://trac.osgeo.org/openlayers/browser/sandbox/jachym/openlayers/examples/layer-groups.html?rev=4958看起来像支持它的openlayers的旧分支.
因此,让我们看一下:
http://api.geoext.org/1.0/examples/tree.html
我认为GeoExt.tree是您想要的.