首页 > 解决方案 > 使图层可见后, map.getCanvas() 不会立即包含该图层。mapbox-gl-js

问题描述

我正在尝试使用 mapbox-gl-js 中的“setLayoutProperty”方法将某些图层的布局可见属性设置为“可见”。

this.toggleCanvasMarkersVisibility(true); // This code sets visibility to visible
// Create a snapshot of the map as follows:
this.map.getCanvas().toBlob(function (blob) {
                canvasContext.strokeStyle = '#CCCCCC';
                canvasContext.strokeRect(leftPosition, topPosition, width, height);
                var img = new Image();
                img.setAttribute("crossOrigin", "anonymous");
                var srcURL = URL.createObjectURL(blob);
                img.onload = function () {
                    canvasContext.drawImage(img, leftPosition, topPosition, width, height);
// Other operations
});

我刚刚设置为“可见”的图层在地图上尚不可见。我如何检测它们是否在可见属性之外可见,因为“可见”属性设置为“可见”?因此,PNG 不包含标记。任何帮助表示赞赏!

标签: pngvisibilitylayermapbox-gl-js

解决方案


推荐阅读