OpenLayers(Layers)

    学过英语的应该都知道Layers是图层的意思吧,OpenLayers在Map的过程中会自动将添加的第一个图层设置成基层(翻译的可能不准确,就是Base Layer)。不管一个Map可以加载多少个Layers,但总有一个是Base Layer,其他的图层的名字就是Over Layers。当然,你可以通过指定isBaseLayer属性,来设定基层,这样其他的图层会自动更改成over Layers。

————

    现在介绍一下WMS函数,其实也没有什么好说的,就是几个参数,详细可以参考网址:http://dev.openlayers.org/docs/files/OpenLayers/Layer/WMS-js.html ,当然,这个网址就是OpenLayers的API了。


new OpenLayers.Layer.WMS();
//第一个参数指定layer的名称,添加Control的时候就会使用到;
//第二个参数指向一个WMS服务器,这里据记忆是将一个jpeg格式的图片转换成WMS(对不对后面再说)
//第三个参数用于设定服务器返回图片的要求,键值对都会追加到Url后面传递给服务器;
//第四个参数用于客户端对Layer的设定,可以有opacity, visibility, isBaseLayer等

——–

        好吧,完整的贴代码。加载两个Layers,May be feel perfect;

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>创建一个简单的电子地图</title>
<script type="text/javascript" src="code/OpenLayers.js"></script>
</head>

<body onLoad="init()">
<div id="map_element" style="width:500px; height:500px">
</div>
<script type="text/javascript">
	var map; 
	function init(){
		map=new OpenLayers.Map('map_element',{});
		var wms_base=new OpenLayers.Layer.WMS(
			'Base Layer',
			'http://vmap0.tiles.osgeo.org/wms/vmap0',
			{layers:'basic'},
			{isBaseLayer:true}
		);
		
		var wms_labels=new OpenLayers.Layer.WMS(
			'Location Labels',
			'http://vmap0.tiles.osgeo.org/wms/vmap0',
			{layers:'clabel,ctylabel,statelabel', transparent:true},
			{opacity:.5}
		);
		
		map.addLayers([wms_base,wms_labels]);
		
		map.addControl(new OpenLayers.Control.LayerSwitcher({}));
		
		if(map.getCenter()){
			map.zoomToMaxExtent();
		}	
	}
</script>
</body>
</html>

——

        附上效果图:


转载自:https://blog.csdn.net/whynottrythis/article/details/12789497

You may also like...