如何在Openlayers3中动态调整热图的半径

How to dynamically adjust the radius of a Heatmap in Openlayers3

我想显示发射器的信号强度。我的目标是在放大或缩小时保持颜色和半径。设置函数而不是 Int 值不起作用。在OL3中如何实现?

var map = new ol.Map({...});
var source = new ol.source.ServerVector({...});

var heatMap = new ol.layer.Heatmap({
    title: 'Heatmap',
    source: source,
    radius: function() {
        return 300 / map.getView().getResolution();
    }
});

map.addLayer(heatMap);

您应该可以使用 setRadius 即时更改半径?在视图上使用 change:resolution 侦听器以在分辨率更改时收到通知并调用 setRadius。