所以我用 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/