我正在使用Heatmap.js(http://www.patrick-wied.at/static/heatmapjs/)在Leaflet地图中显示热图。在热图数据点对象中,我通过设置手动设置每个点的半径。
datapoint.radius = radiusCoeff * (datapoint.value / geodata.max);
其中geodata.max是数据集的最大值。这些值从1到5亿不等。我设置radius属性而不是'value'属性的原因是因为这比更改value属性更好地表示了数据集。
我使用以下方式设置数据集:
heatmapLayer.setData(geodata);
在Safari中,我收到以下错误:
DOMException
code: 11
constructor: DOMExceptionConstructor
line: 390
message: "INVALID_STATE_ERR: DOM Exception 11"
name: "INVALID_STATE_ERR"
sourceId: 2057773152
sourceURL: "http://localhost:51612/app/libs/heatmapjs/build/heatmap.js"
__proto__: DOMExceptionPrototype
异常中引用的代码行是 热图源代码中的“shadowCtx.drawImage(tpl,rectX,rectY)”。
该应用程序仅在桌面和iOS的Safari中失败,并且仅在我 手动设置每个数据点的radius属性。
我目前正在使用的开发分支 heatmap.js(https://github.com/pa7/heatmap.js/tree/develop)和 传单的最新版本
非常感谢任何帮助!