小马看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

You may also like...