【问题标题】:Event viewreset is not fired in leaflet version 1.0.2传单版本 1.0.2 中未触发事件 viewreset
【发布时间】:2017-04-16 08:40:55
【问题描述】:

我正在使用带有 Leaflet (v 1.0.2) 的 d3,需要捕获 viewreset 事件,但它没有被触发。

this.map.on("viewreset", () => console.log("VIEW RESET"));

还有其他人有这个问题吗?例如,我能够捕捉到 zoomend 事件。

此外,在新版本的 Leaflet 中,在 svg 图层上操作位置等也有点痛苦……但那是另一回事了。

JSFidlle 显示问题http://leafletjs.com/reference-1.0.2.html

【问题讨论】:

  • 你能提供更多的代码吗?例如,您在哪里调用此 on("viewreset") 事件绑定?
  • 嗨!这是一个有问题的 jsfiddle jsfiddle.net/LnzN2/558

标签: javascript d3.js svg leaflet


【解决方案1】:

根据:https://github.com/Leaflet/Leaflet/issues/4837

在 1.0 中,图层必须同时依赖缩放(缩放更改)和视图重置(图层的完全重置)。这是实现 flyTo 和其他任意动画所必需的。

在:https://github.com/Leaflet/Leaflet/pull/3278

移除 viewreset 事件并仅依赖于层中的缩放事件

因此 viewreset 事件不再在缩放时触发。

【讨论】:

  • 嗨!好像你说的删了。如果我查看 D3SvgOverlay link 项目,他们使用 if 语句来捕获除视图重置之外的其他事件以及版本 1 以上的传单。感谢您的回答。
猜你喜欢
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多