antv l7 加载地图图标报错 activeTexture texture unit out of range 图标变成黑方块问题解决, 具体实现代码
时间: 2024-03-19 07:45:01 浏览: 121
antv-l7地图可视化,全国地图支持省级下钻、悬浮预警、时间区间搜索
这个问题通常是由于地图图标的数量过多导致的,可以通过调整 WebGL Texture Unit 的数量来解决。以下是具体的实现代码:
```javascript
const map = new AMap.Map('container', {
zoom: 13,
center: [116.39, 39.9],
});
// 将 WebGL Texture Unit 的数量调整为 32
map.getLayers().forEach(layer => {
if (layer.CLASS_NAME === 'AMap.TileLayer.Satellite') {
layer.getTiles()[0].material.uniforms.u_texture.activeTexture = 31;
}
});
```
在这段代码中,我们通过 `map.getLayers()` 获取到地图上所有的图层,然后找到卫星图层并调用 `getTiles()` 方法获取到该图层上的所有地图瓦片,最后将第一个瓦片的 `activeTexture` 属性设置为 31,即可将 WebGL Texture Unit 的数量调整为 32,解决地图图标变成黑方块的问题。
阅读全文