openlayers - 获取要加载的图 block 总数

标签 openlayers openlayers-5

我想获取当前需要加载的图 block 总数。
原因是为了让 map 有一个平滑的加载栏。我知道 openlayers 上的演示,但对我来说,该栏会到处跳(来回),因为很多时候 tileloadstart 在某些图 block 已经加载后被调用。这会导致最大值发生变化并使栏恢复。
那么有没有办法(即使是自定义OL)在调用时获取tile的总数(最终的tileloadstart调用总数)?

最佳答案

很抱歉挖出一个老问题,但我今天被困在这个问题上并找到了一个简单的解决方案。这个问题并没有在整个网络上得到真正的讨论,所以我将发布一个计算图 block 的函数,而无需事先加载它们。它基于 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
}

关于openlayers - 获取要加载的图 block 总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52543450/

相关文章:

openlayers - 多个过滤层上的 WMSGetFeatureInfo

openlayers - 如何使用 openlayers 进行动画缩放和平移?

openlayers - 如何在 OpenLayers 5.3.0 中裁剪和显示裁剪的矢量几何图形

javascript - 使用 OpenLayers,如何在单个图层上显示不同功能的不同图标?

javascript - openlayers marker moveTo 仅在特定缩放级别准确

javascript - 使用 openlayer 无法显示 map

openlayers - 有没有办法在 openlayers 5 中强制重新加载/刷新 map ?

javascript - 如何从openlayers中连续的数组点绘制线串

javascript - 在 OpenLayers 5 中获取 KML 样式

Openlayers 与谷歌地图图层 - 点在 map 之前缩放?