传单:当边界改变时触发一个事件
Leaflet : Firing an event when bounds change
我正在使用传单开发一个新的应用程序。你可以在这里了解一下这个应用程序。
我想在映射边界发生变化时触发一个事件。我看了医生,但找不到任何相关的东西。
我已经找到了getBounds()方法,和可能的事件方法列表,但没有结合两者。
我看到这样做的唯一其他可能性是检查鼠标拖动和滚动事件,并每次检查边界。但我希望能有更好的事做。
你有更好的主意吗?谢谢!
每次移动地图时都会更新地图边界(通过平移或缩放)。所以你可以使用moveend事件
map.on('moveend', function(e) {
var bounds = map.getBounds();
});
在react-传单上,当直接在传单的MapContainer组件上设置maxBounds时,我有一个带有堆栈跟踪的警告listener not found at MapContainer
。
如果有人在react-传单上运行这个问题,我找到了这样的解决方法:
function MapEventHandlers() {
const mapMoveEnd = useMapEvent('moveend', () => {
mapMoveEnd.setMaxBounds([
[51.234567, -5.67],
[41.234567, 10.69],
])
})
}
(...)
<MapContainer (...) >
<MapEventHandlers />
<TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
(...)
</MapContainer>
希望有帮助
相关文章:
- 使用类从一个标记中双击事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 导航到特定事件的另一个变量页面
- 来自文档或下一个静态父级的事件委派
- 在创建对象后附加一个jquery事件
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 如何在所有ng点击事件AngularJS上启动一个方法
- 是否<asp:文本框>有一个onFocusLost事件
- React应用程序:道具在下一个事件后更新
- 在Angular ui路由器中,如何将事件从一个视图发送到另一个视图
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 全局屏幕span onclick触发一个事件javascript
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 添加一个javascript函数来下载elfinder上的事件
- jQuery触发器事件在一个循环中多次出现
- 'mousemove'画布中的事件侦听器-指针仅在最后一个矩形中更改
- 是否可以同时为一个元素的所有事件指定阻止默认值
- angularjs调用事件中控制器的一个函数