javascript - 如何将 base64 解码图像添加到 openlayer map ?

标签 javascript html openlayers-3

这是我的版本。但它不起作用。显示 Canvas ,但不响应拖动和缩放。

               var layer = new ol.layer.Image({
                source: new ol.source.ImageCanvas({
                    canvasFunction: function(){
                        var canvas = document.createElement('canvas');
                        var context = canvas.getContext('2d');
                        var image = new Image();

                        canvas.setAttribute('width', attachment.width);
                        canvas.setAttribute('height', attachment.height);

                        image.onload = function(){
                            context.drawImage(image, 0, 0);
                        };

                        image.src = attachment.src;

                        return canvas;
                    },
                    projection: view.getProjection()
                })
            });

最佳答案

我找到答案了!只需使用 ol.source.ImageStatic 和 imageLoadFunction :

            var layer = new ol.layer.Image({
            source : new ol.source.ImageStatic({
                imageExtent : view.getProjection().getExtent(),
                size : [attachment.width, attachment.height],
                imageLoadFunction : function(image){
                    image.getImage().src = attachment.src;
                },
                projection : view.getProjection(),
                url : ''
            })
        });

关于javascript - 如何将 base64 解码图像添加到 openlayer map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31343876/

相关文章:

javascript - Openlayers 3 动态标线 - 如何打开和关闭它?

javascript - 如何在组合中创建代码?

javascript - 如何限制每行的文本区域长度(以像素为单位)和行数?

html - 旋转表头

android - 从移动浏览器的初始视口(viewport)中排除 DIV

openlayers-3 - Openlayers 3偏移正则形状

javascript - 如何将一个组件作为 props 传递给 React js 中的另一个组件?

javascript - Spree - 无法覆盖 js.coffee 文件

javascript - 如何在 jQuery 中检测字符串的第一个单词?

openlayers - 如何在本地安装 openLayers 3?