百度地图添加热力图数据,使用类 BMapLib.HeatmapOverlay.addDataPoint(lng, lat, count),解决办法

地图类 BMapLib.HeatmapOverlay的详细介绍地址:

http://api.map.baidu.com/library/Heatmap/2.0/docs/symbols/BMapLib.HeatmapOverlay.html

1、使用 setDataSet(data)添加热力图示例

//参考示例:
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
var heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":10, "visible":true, "opacity":70});
heatmapOverlay.setDataSet(data);//data是热力图的详细数据

使用这个添加热力图什么问题。

只不过一般会添加一个属性进去,如:

heatmapOverlay.setDataSet({data:points,max:100});

原文地址

2、使用 addDataPoint(lng, lat, count) 出错

看了下他的源码,发现在使用这个方法前,用到了下面的这个data数据:

heatmapOverlay.setDataSet(data);//data是热力图的详细数据

所以,我们在使用 addDataPoint(lng, lat, count) 前,需要先使用上面这个传data到 BMapLib.HeatmapOverlay.类里。

即如下:

//
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
var heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":10, "visible":true, "opacity":70});
heatmapOverlay.setDataSet(data);//data是热力图的详细数据


//在上面的基础上,再使用(已经存在data了,才能使用)
addDataPoint(lng, lat, count);//具体某个点坐标

 

你可能感兴趣的:(百度地图)