小编ill*_*you的帖子

Leaflet和Heatmap.js - 无法在'CanvasRenderingContext2D'上执行'getImageData'

我目前有一个工作的传单地图,并希望在此基础上使用传单插件Heatmap.js.http://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.html

我使用的代码与上面链接中的示例非常相似.

 var testData = {
                max: 8,
                data: [{lat: 24.6408, lng:46.7728, radius:500, count: 3}]
            };


 var cfg = {
                "radius": 2,
                "maxOpacity": 8,
                "scaleRadius": true,                    
                "useLocalExtrema": true,
                latField: 'lat',                 
                lngField: 'lng',
                valueField: 'count'
            };

var heatmapLayer = new HeatmapOverlay(cfg);

map.addLayer(heatmapLayer);

heatmapLayer.setData(testData);
Run Code Online (Sandbox Code Playgroud)

当我运行地图时,我没有看到任何热图的迹象.然后,当我在地图上平移时,我在控制台中收到以下错误:

无法在'CanvasRenderingContext2D'上执行'getImageData':源高度为0.

知道如何解决这个问题吗?heatmap.js网站上的演示使用几乎完全相同的代码.

谢谢!

编辑:

我发现错误可能来自哪里.heatmap.js中的第316行是:

this._height = canvas.height = shadowCanvas.height = +(computed.height.replace(/px/,''));
Run Code Online (Sandbox Code Playgroud)

高度返回为零.但是正确设置了宽度.

jquery rendering heatmap leaflet

6
推荐指数
1
解决办法
4263
查看次数

在 IE 中读取剪贴板图像

我可以使用以下代码在 Chrome 中成功读取剪贴板图像:

data = event.originalEvent.clipboardData;

for (var i = 0; i<data.items.length; i++){
        var item = data.items[i];
        if (item.type === 'image/png'){
             itemFound = true;
             break;
        }
}
Run Code Online (Sandbox Code Playgroud)

然而,这种方法在 IE 中不起作用。微软发布了一篇关于在 IE 中粘贴的博客(http://blogs.msdn.com/b/ie/archive/2013/10/24/enhanced-rich-editing-experiences-in-ie11.aspx)。该博客指出我应该能够使用以下代码行

var fileList = clipboardData.files;
Run Code Online (Sandbox Code Playgroud)

然而,fileList 总是返回为空。

有谁知道在 IE 中访问剪贴板图像的方法?我能够很好地阅读文本,而不能阅读图像。

javascript internet-explorer paste

5
推荐指数
1
解决办法
1021
查看次数