[WebGIS开发二] leaflet图层Layers打开与关闭事件回调

本文探讨了在WebGIS开发中如何利用Leaflet的图层添加与移除回调事件来控制图例的显示与隐藏。通过分析`_onLayerChange`函数和`fire`方法,展示了在overlayadd和overlayremove事件中处理图例显示的实践代码。
摘要由CSDN通过智能技术生成

1.问题提出

在GIS开发中,每一个图层五花八门的配图,那么配图得表示是什么东西。这时,图例就上场了。GIS的图层开关也能和图例一并开关显示。这时候leaflet实现的方式可以是可以利用图层的加入与移除回调来实现。

2.回调事件

来看leaflet的图层添加和移除代码。

添加图层代码。

  	_addLayer: function (layer, name, overlay) {
  		if (this._map) {
  			layer.on('add remove', this._onLayerChange, this);
  		}

  		this._layers.push({
  			layer: layer,
  			name: name,
  			overlay: overlay
  		});

  		if (this.options.sortLayers) {
  			this._layers.sort(bind(function (a, b) {
  				return this.options.sortFunction(a.layer, b.layer, a.name, b.name);
  			}, this));
  		}

  		if (this.options.autoZIndex && layer.setZIndex) {
  			this._lastZIndex++;
  			layer.setZIndex(this._lastZIndex);
  		}

  		this._expandIfNotCollapsed();
  	},

移除图层代码

  	removeLayer: function (layer) {
  		layer.off('add remove', this._onLayer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值