javascript - 传单.js : detecting when map finishes zooming

标签 javascript asynchronous leaflet

所以我用 leafet.js 制作这个应用程序。

这个应用程序要求我必须手动在屏幕上绘制网格, 我已经在 draw_grid() 函数中进行了处理,该函数将一堆多边形绘制到屏幕上。

我有一个函数,我调用它来触发传单 map 的更改。

zoom - 缩放整数和 size 是一个类似于 {x:1,y:1} 的字典,用于控制缩放的大小绘制到 map 上的图 block 。 (它们需要更改,因为绘制图 block 的单位是 map 上的纬度、经度点。

function changeZoom(zoom,size){
    map.setZoom(zoom); 
    setSize(size);   
    setTimeout(drawGrid,500)s;
}

我必须使用setTimeout的原因是因为传单忽略 map 上的任何绘图命令(我正在将其作为图层执行),直到 map 完成完成动画。

如何异步执行此操作?

最佳答案

您可以使用 API here 中描述的 map.zoomend 事件。

map.on('zoomend', function() {
    drawGrid();
});

一旦 map 完成缩放动画,它将调用drawGrid函数。

关于javascript - 传单.js : detecting when map finishes zooming,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18609091/

相关文章:

angular - 如何使用 ngx-leaflet( Angular 方式)创建矢量图 block map ?

javascript - D3 + Leaflet, only draw if visible(大数据vis)

javascript - 将 Leaflet LatLng 投影到平铺像素坐标

javascript - 为多个元素实现单个饼图菜单?

http - 使用 com.loopj.android.http 库导致 java.lang.NoClassDefFoundError

javascript - 如何在没有 setTimeout 的情况下使用异步 mocha before() 初始化?

c# - 使用 DbContext.Set<T>.Add() 不会添加到数据库

javascript - 从上到下过渡 n 秒后如何在顶部显示通知栏?

javascript - 替换中的回调函数(循环内)

javascript - 限制 JavaScript 函数调用,但要排队(不要丢弃调用)