宣传单张热图:如何绘制具有特定点半径且随缩放缩放的点?

时间:2018-08-30 15:24:06

标签: javascript leaflet

我正在使用Leaflet和Leaflet-heatmap执行以下操作。我有几个点显示感兴趣的位置,每个点都与某个半径相关联,该半径对应于每个位置的可步行性(例如3英里,5英里等)。我想:

1)。最好在每个点周围都加上一个与该点的半径相对应的“斑点”,这样一来,当人们远离该点的中心时,它将变得越来越暗

2)。当我放大和缩小地图时,适当地缩放半径。

这是我的JavaScript:

 //just some sample single location
text = "lat;long;walk\n39.1101;-84.5758;3";

var lines = text.split("\n");
var heatData = [];
for (var i=1; i<lines.length; i++) {
    var parts = lines[i].split(",");
    heatData.push( [ parts[0], parts[1], 1. ]  )
}

var heat = L.heatLayer(heatData, {radius: 20, blur: 10, scaleRadius: true, max: 0.1, max_zoom: 20 }).addTo(map);

对于问题1:“半径”是否是将步行半径(heatData [2])馈入的正确量?如果是这样,我该怎么做?

对于问题2:以下是放大和缩小点的图像,您会发现该点周围的斑点半径未正确缩放

放大:

Point zoomed in - area of walkability seems small

缩小-半径保持不变,但我希望它较小,以反映相对于新比例尺的实际步行区域:

point zoomed out - area of walkability seems huge

非常感谢!

1 个答案:

答案 0 :(得分:0)

我将为每个半径值(3英里,5英里等)制作栅格热图图层,并将它们作为图层添加到地图中。然后,在所有缩放级别,它们都将与该点保持正确的距离,而您将不必使用复杂的功能来更改热图的聚类。