自定义openlayer控制面板

先上效果:(效果如下,由于图片大小的限制,质量有点差,凑合看吧)

官方的例子:http://openlayers.org/dev/examples/accessible-panel.html

我对该例子进行了一些修改,使其更能适应实际项目的应用,

$(document).ready(
	function(){		
	    var map = new OpenLayers.Map("mapDiv");
	    var gmap = new OpenLayers.Layer.Google("Google Streets", {
		type: G_SATELLITE_MAP
	    });						
							
	    var panel = new OpenLayers.Control.Panel({
		    createControlMarkup: function() {
		        return $(myControl)[0];			
	              }
	    });
	    panel.addControls([new OpenLayers.Control.Button()]);
	    map.addLayer(gmap);
	    map.addControl(panel);
	    map.setCenter(new OpenLayers.LonLat(114.04, 22.85466),10);
	    $("#MyMapPanel li").click(
		function(){
			alert($($(this).children("span")[0]).text());
		}
	    );
    });

其中上面的myControl变量其实就是一个事先写好的html:

var myControl="<ul id='MyMapPanel'>
                    <li><image class='MyMapPanel_image' src='image/hanleng.jpg'/>
                    <br/><span  class='MyMapPanel_span'>寒冷</span>
                    </li>
                    <li><image class='MyMapPanel_image' src='image/senlinhuoxian.jpg'/>
                    <br/><span  class='MyMapPanel_span'>森林火险</span>
                    </li>
                    <li><image class='MyMapPanel_image' src='image/bingbao.jpg'/>
                    <br/><span  class='MyMapPanel_span'>冰雹</span>
                    </li>
                    <li><image class='MyMapPanel_image' src='image/baoyu.jpg'/>
                    <br/><span  class='MyMapPanel_span'>暴雨</span>
                    </li><li><image class='MyMapPanel_image' src='image/daolujiebing.jpg'/>
                    <br/><span  class='MyMapPanel_span'>道路结冰</span>
                    </li>
                 </ul>"

再加上css对上面的html进行样式控制:


#MyMapPanel{
			list-style: none;
			width: 150px;
			height: 320px;
			margin: 0px;
			margin-left:5px;
			margin-top:5px;
			padding: 0px;
			border-style: solid;
			border-color: #6E8FC0;
		}
		#MyMapPanel li{
			float: left;
			text-align: center;
			padding: 10px;
		}
		#MyMapPanel li:hover{
			background-color: aliceBlue;
		}		
		#MyMapPanel li img{
			height:50px;
			width:50px;
			float: left;
		}
		#MyMapPanel li span{
			font-size: 12px;
		}
这样控制面板基本上可以随心所欲了!




转载于:https://my.oschina.net/LinBandit/blog/86589

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值