android地图sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
动态热力图
下载开发文档
动态热力图

android 7.5.2起地图sdk支持动态热力图功能,支持以3d的形式表示数据的密度和分布情况,示例图如下:

动态热力图的主要属性如下:
属性类型说明
datasarraylist多帧动画数据
dataarraylist单帧动画数据
initanimationheatmapanimation开始动画属性
frameanimationheatmapanimation帧动画属性
maxhighint设置3d热力图最大高度,默认为0ps,范围[0~200],since 6.5.0
radiusint设置热力图点半径,默认为12ps,范围[10~50]
maxintentityfloat点的强度权值,默认值1,范围[> 0
minintensityfloat设置热力图最小权重值,默认为0.0,
gradientgradient设置热力图渐变,有默认值 default_gradient
opacitydouble设置热力图层透明度,默认 0.6,范围[0~1]
colorsint[]渐变色用到的所有颜色数组,有默认值
渐变类gradient属性:
属性类型说明
colorsint[]渐变色用到的所有颜色数组,有默认值
startpointsfloat[]每一个颜色的起始点数组,有默认值
动画类heatmapanimation属性:
属性类型注释
durationdouble动画时长
typeanimationtype动画缓动函数类型
isanimationboolean是否开启动画

添加热力图图层前,请您提前准备好带有经纬度坐标的数据集,具体步骤如下:
1.准备经纬度分布数据集,如

"lng":116.895579,"lat":24.306521

2.设置热力图属性

// 获取多帧热力图数据集
list<list<latlng>> datas =getlocations();
// 设置开始动画属性:开启初始动画,时长100毫秒,动画缓动函数类型为线性
heatmapanimation init =newheatmapanimation(true,100,heatmapanimation.animationtype.linear);
// 设置帧动画属性:开启帧动画,时长800毫秒,动画缓动函数类型为线性
heatmapanimation frame =newheatmapanimation(true,800,heatmapanimation.animationtype.linear);
// 设置热力图渐变色用到的所有颜色数组
int[] colors =newint[]{
color.rgb(255,0,0),color.rgb(0,225,0),color.rgb(0,0,200)};
//设置热力图每一个颜色的起始点数组
float[] startpoint =newfloat[]{0.3f,0.7f, 1f};
// 设置热力图渐变类
gradient mgradient =newgradient(colors, startpoint);
mheatmap =newheatmap.builder().datas(datas).initanimation(init).frameanimation(frame).
gradient(mgradient).maxintensity(3.1f).opacity(0.9).build();

3.添加热力图

mbaidumap.addheatmap(mheatmap);

4.开启热力图帧动画

mbaidumap.startheatmapframeanimation();

5.停止热力图帧动画

mbaidumap.stopheatmapframeanimation();

6.调整热力图帧数
地图回调接口返回当前正在绘制的热力图帧索引,接口实现如下:

//回调动态热力图帧索引
mbaidumap.setonheatmapdrawframecallback(newbaidumap.onheatmapdrawframecallback(){
@override
publicvoidframeindex(int indexcallback){
}
});

上一篇

绘制2d蜂窝热力图

下一篇

周边运力

本篇文章对您是否有帮助?

网站地图