我正在使用带有 Mapbox-GL-JS 的 ESRI 底图。我正在尝试使用以下代码捕获地图的屏幕截图:
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);
URL.revokeObjectURL(srcURL);
};
img.src = srcURL;
});
我无法弄清楚为什么地图上的属性没有在屏幕截图中被捕获。我知道在这里我只是想获取地图的画布。我什至尝试将文本元素添加到地图画布中,但这也不起作用。我有标记和路线,可以正确进入图像。我也尝试使用 Mapbox 底图并尝试相同,但遇到了同样的问题。
非常感谢任何帮助!