小马看GIS–OpenLayers(一)
关于OpenLayers的资料,网上已经有很多例子了。我这里想说的是如何高效的使用OpenLayers。我们在访问WMS的时候,一般不会只请求一个图层,有可能会是很多图层。
我刚开始使用OpenLayers的时候,是这样使用的:
<script type="text/javascript">
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
map.addControl(new OpenLayers.Control.LayerSwitcher());
var bounds = new OpenLayers.Bounds(103.94971885,30.5749127,104.18353815,30.7504793);
layerblock = new OpenLayers.Layer.WMS( "topp:Block_region",
"http://localhost:8989/geoserver/wms" ,
{
layers: 'topp:Block_region',
srs: 'EPSG:4326',
style: '',
format: 'image/png',
tiled: 'true'
//transparent: false
},
{
maxExtent: bounds,
//maxResolution: 0.0041261434555042165,
projection: 'EPSG:4326',
buffer: 0 ,
reproject: true,
//opacity: 0.8,
isBaseLayer: true
}
);
layerpublic = new OpenLayers.Layer.WMS( "topp:PUBLIC_region",
"http://localhost:8989/geoserver/wms" ,
{
layers: 'topp:PUBLIC_region',
srs: 'EPSG:4326',
style: '',
//format: 'image/png',
tiled: 'true',
transparent: true
},
{
maxExtent: bounds,
//maxResolution: 0.0041261434555042165,
projection: 'EPSG:4326',
buffer: 0 ,
reproject: true,
//opacity: 0.8,
isBaseLayer: true
}
);
layerroad = new OpenLayers.Layer.WMS( "topp:Road_Regular_polyline",
"http://localhost:8989/geoserver/wms" ,
{
layers: 'topp:Road_Regular_polyline',
srs: 'EPSG:4326',
style: '',
//format: 'image/png',
tiled: 'true',
transparent: true
},
{
maxExtent: bounds,
//maxResolution: 0.0041261434555042165,
projection: 'EPSG:4326',
buffer: 0 ,
reproject: true,
//opacity: 0.8,
isBaseLayer: true
}
);
map.addLayers([layerblock,layerpublic,layerroad]);
map.zoomToExtent(bounds);
}
</script>
<script type="text/javascript">
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
map.addControl(new OpenLayers.Control.LayerSwitcher());
var bounds = new OpenLayers.Bounds(103.94971885,30.5749127,104.18353815,30.7504793);
layerpublic = new OpenLayers.Layer.WMS( "region",
"http://localhost:8989/geoserver/wms" ,
{
layers: 'topp:Block_region,topp:PUBLIC_region,topp:Road_Regular_polyline',
srs: 'EPSG:4326',
style: '',
format: 'image/png',
tiled: 'false',
transparent: false
},
{
maxExtent: bounds,
//maxResolution: 0.0041261434555042165,
projection: 'EPSG:4326',
buffer: 0,
reproject: true,
//opacity: 0.5,
isBaseLayer: true
}
);
map.addLayer(layerpublic);
map.zoomToExtent(bounds);
}
</script>
转载自:https://blog.csdn.net/mach365/article/details/2627750


