超图FAQ: 首先,天地图官网范围需要使用key。
其次,这个问题是跨域问题。
修改:
1. 使用第三方js
2. 天地图图层增加允许跨域的参数:userCORS: true
tiandituLayer = new SuperMap.Layer.WMTS({
name: "vec",
url: "
http://t0.tianditu.com/vec_c/wmts?tk=1d109683f4d84198e37a38c442d68311", layer: "vec",
style: "default",
matrixSet: "c",
format: "tiles",
opacity: 1,
requestEncoding: "KVP",
userCORS: true
});
tianMarkerLayer = new SuperMap.Layer.WMTS({
name: "vec",
url: "
http://t0.tianditu.com/cva_c/wmts?tk=1d109683f4d84198e37a38c442d68311", layer: "cva",
style: "default",
matrixSet: "c",
format: "tiles",
opacity: 1,
requestEncoding: "KVP",
userCORS: true
});
3. 示例中修改生成image的函数,如下:
function pasteCanvas(sCanvas/*source*/, dCanvas/*destination*/) {
var w = sCanvas.width,
h = sCanvas.height;
domtoimage.toPng(sCanvas)
.then(function (dataUrl) {
var img = new Image();
img.src = dataUrl;
var dContext = dCanvas.getContext("2d");
dContext.drawImage(img, 0, 0, w, h);
})
.catch(function (error) {
console.error("oops, something went wrong!", error);
});
}