Angular-Leaflet热力图数据更新

3

我正在使用Angular-Leaflet指令来显示热力图,并且希望数据随时间变化而发展。我的代码如下:

getData().then(function (data) {
    $scope.heat.index = 0;
    $scope.heat.data = data;
    $scope.layers.overlays.heat = {
        name: "Heatmap",
        type: "heat",
        data: $scope.heat.data[$scope.heat.index],  // data is a dictionary, not an array
        visible: true
    };
    $scope.$watch('heat.index', function (new_index) {
        $scope.layers.overlays.heat.data = $scope.heat.data[new_index];
    });
});

然而,当我通过滑块改变 data.index 时,什么也没有发生。可能出了什么问题呢?我知道 Angular-Leaflet 支持这种行为,因为有人在 这个 Github 问题 中添加了它。

1个回答

0
leafletData.getMap().then(function (map) {
  map.eachLayer(function (layer) {
    if (layer.options.layerName == 'heatmap') {
       layer.setLatLngs(newHeatmapData);
    }
  })
})

这对我有用。

Leaflet.heat提供了一个redraw()方法,但对我来说没有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接