浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WebAPI文档全面上新

新增示例代码、在线运行等功能,帮助您实现快速接入,前往体验吧!

体验新版
更新时间:2022-02-24
动态热力图

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

  • https://mapopen-pub-androidsdk.bj.bcebos.com/android-static/DynamicThermodynamicDiagram.mp4


动态热力图的主要属性如下:

属性 类型 说明
datas ArrayList 多帧动画数据
data ArrayList 单帧动画数据
initAnimation HeatMapAnimation 开始动画属性
frameAnimation HeatMapAnimation 帧动画属性
maxHigh int 设置3D热力图最大高度,默认为0ps,范围[0~200],since 6.5.0
radius int 设置热力图点半径,默认为12ps,范围[10~50]
maxIntentity float 点的强度权值,默认值1,范围[> 0
minIntensity float 设置热力图最小权重值,默认为0.0,
gradient Gradient 设置热力图渐变,有默认值 DEFAULT_GRADIENT
opacity double 设置热力图层透明度,默认 0.6,范围[0~1]
colors int[] 渐变色用到的所有颜色数组,有默认值

渐变类Gradient属性:

属性 类型 说明
colors int[] 渐变色用到的所有颜色数组,有默认值
startPoints float[] 每一个颜色的起始点数组,有默认值

动画类HeatMapAnimation属性::

属性 类型 注释
duration double 动画时长
type AnimationType 动画缓动函数类型
isAnimation boolean 是否开启动画

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

"lng": 116.895579, "lat": 24.306521

2.设置热力图属性

// 获取多帧热力图数据集
List<List<LatLng>> datas = getLocations();
// 设置开始动画属性:开启初始动画,时长100毫秒,动画缓动函数类型为线性
HeatMapAnimation init = new HeatMapAnimation(true, 100, HeatMapAnimation.AnimationType.Linear);
// 设置帧动画属性:开启帧动画,时长800毫秒,动画缓动函数类型为线性
HeatMapAnimation frame = new HeatMapAnimation(true,800, HeatMapAnimation.AnimationType.Linear);
// 设置热力图渐变色用到的所有颜色数组
int[] colors = new int[]{
        Color.rgb(255, 0, 0), Color.rgb(0, 225, 0),Color.rgb(0, 0, 200)};
//设置热力图每一个颜色的起始点数组
float[] startPoint = new float[] {0.3f, 0.7f, 1f};
// 设置热力图渐变类
Gradient mGradient = new Gradient(colors, startPoint);

// 
mHeatmap = new HeatMap.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(new BaiduMap.OnHeatMapDrawFrameCallBack() {
  @Override
  public void frameIndex(int indexCallBack) {

  }
});


  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消