OpenLayers系列(4)——使用控制器

控制器可以使用在地图上,也可以使用在地图之外的元素如<div>中。

添加控制器有两种方式:

1.在map对象初始化时以js数组的形式把OpenLayers控制器传入

2.在map对象初始化后,调用addControl()来添加单个控制器或者addControls()传入一个控制器数组对象

当一个map对象被初始化后,默认会有4种控制器:

1.OpenLayers.Control.Navigation:
    用来控制地图与鼠标事件的互动,如拖曳,缩放,滚动,双击。

2.OpenLayers.Control.PanZoom:

   在地图的左上方添加一个平移与缩放的工具条

3.OpenLayers.Control.ArgParser:

   使地图可以在缩放到指定大小时根据URL参数打开或关闭一些图层

4.OpenLayers.Control.Attribution:

   允许通过layer向map添加属性

如果想要创建一个不包含任何控制器的地图,则在创建map对象时使用下面代码

map = new OpenLayers.Map('map_element', {
  controls: []  //设置一个空的控制器数组以清除默认控制器
});

示例:向地图添加控制器

代码:

<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='utf-8' />
   <title>My OpenLayers Map</title>
    <script type='text/javascript' src='OpenLayers.js'></script>
    <script type='text/javascript'>

        var map;

       function init() {
	   //创建控制器数组
		   var navigation_control = new OpenLayers.Control.Navigation({});
		   var controls_array = [
								  navigation_control,
								  new OpenLayers.Control.PanZoomBar({}),
								  new OpenLayers.Control.LayerSwitcher({}),
								  new OpenLayers.Control.Permalink(),
								  new OpenLayers.Control.MousePosition({})
								];

		   map = new OpenLayers.Map('map_element', {
			  controls: controls_array
			});//初始化map时加入定义的控制器



           var wms_layer = new OpenLayers.Layer.WMS(
					  'WMS Layer Title',
					  'http://vmap0.tiles.osgeo.or
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值