图文解说ChinaCock高德地图组件-制作热力分析图 (六)
这是实际项目截取的热力图,接下来,看看我们怎么实现他?
地图组件,给我们提供了Heatmaps属性,管理热力图,这是一个List,支持我们在地图上增加多个热力图,并且控制每个热力图的隐藏与显示。
具体操作分三步:
一、取得热力图对象
为了增加一个热力图,需要调用Heatmaps.Add方法,该方法返回一个热力图对象。
AHeatmap := self.CCuniGUIAMap1.Heatmaps.Add;
二、为热力图填写数据
通过为热力图对象AHeatmap填加数据,就能得到要显示的热力图。具体实现见代码,我把一个kbmMWClientQuery查询到的结果,填加到AHeatmap.DataSet.Data中。
with ClientQuery1 do begin First; while not eof do begin // 添加热力图数据 with AHeatmap.DataSet do begin // max: Number 权重的最大值, 其中max不填则取数据集count最大值 Max := 1000;//热力图的阀值 with Data.Add do begin Lng := FieldByName('FJD').AsFloat;//经纬度 Lat := FieldByName('FWD').AsFloat;//经纬度 Count := FieldByName('FData1').AsFloat;// end; end; next; end; end;
三、显示热力图
填加完数据,再把图加到地图上,热力图就显示出来了。
AHeatmap.AddToMap;