我想获取当前需要加载的瓷砖总数。
原因是地图有一个平滑的加载栏。我知道 openlayers 的演示,但对我来说,那个栏会到处乱跳(来回走动),因为tileloadstart
在一些瓷砖已经加载后会调用很多次。这会导致最大值发生变化并带回条形图。
那么有没有办法(即使是自定义 OL)在调用时获取磁贴总数(最终总tileloadstart
调用次数)?
问问题
232 次
1 回答
1
很抱歉挖掘了一个老问题,但我今天被困在这个问题上并找到了一个简单的解决方案。这个问题并没有真正覆盖整个网络,所以我将发布一个计算图块的函数,而无需事先加载它们。它基于TileGridforEachTileCoord(extent, zoom, callback)
的方法。
function getTileCount(map, tileGrid) {
let size = map.getSize();
let view = map.getView();
let extent = view.calculateExtent(size);
let zoom = view.getZoom();
let count = 0;
tileGrid.forEachTileCoord(extent, zoom, function() {
++count;
});
return count
}
于 2021-09-17T13:29:17.283 回答