全部服务产品
开发者频道
定价
登录
2D蜂窝热力图
下载开发文档

自v7.6.1版本起,Android地图SDK支持在地图上绘制2D蜂窝热力图。添加2D蜂窝热力图请参考HexagonMap类。

绘制2D蜂窝热力图

代码如下:
参数选项:

/**
* 设置热力图的最大权重
* @param intensity
* @return
*/
public Builder maxIntensity(float intensity)
/**
* 设置热力图的最小权重,一般为0
* @param intensity
* @return
*/
public Builder minIntensity(float intensity)
/**
* 设置热力图渐变,有默认值 DEFAULT_GRADIENT,可不设置该接口
*
* @param gradient
* 热力图渐变
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder gradient(Gradient gradient)
/**
* 设置热力图绘制的数据,data 或 weightedData接口必须设置其中之一
*
* @param data
* 热力图绘制数据,不能为null,大小不能为 0
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder data(Collection<LatLng> data)
/**
* 设置热力图绘制的数据,带权值的位置点集合,data 或 weightedData接口必须设置其中之一
*
* @param weightData
* 热力图绘制数据,不能为null,大小不能为 0
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder weightedData(Collection<WeightedLatLng> weightData)
/**
* 设置热力图最大显示层级
*
* @param maxLevel
* 地图显示层级,[4,22]
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder maxShowLevel(int maxLevel)
/**
* 设置热力图最小显示层级
*
* @param minLevel
* 地图显示层级,[4,22]
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder minShowLevel(int minLevel)
/**
* 设置热力图点半径,默认为12ps,可不设置该接口
*
* @param radius
* 热力图点半径,[10,50]
* @return 更新后的热力图瓦片提供者构造器引用
*/
public Builder radius(int radius)

示例:

List<LatLng> datas = getLocations();
HexagonMap mHexagonMap = new HexagonMap.Builder()
.data(datas)
.opacity(1.0f)
.radius(2000)
.minShowLevel(10)
.maxShowLevel(14)
.hexagonType(HexagonMap.HexagonType.EDGE_UP)
.gradient(DEFAULT_GRADIENT)
.maxIntensity(10)
.gap(100)
.build();
mBaiduMap.addHexagonMap(mHexagonMap);

json数据样式示例:

[
{"lng": 116.895579, "lat": 24.306521},
{"lng": 113.951068, "lat": 22.772504},
{"lng": 110.00006, "lat": 40.603564},
{"lng": 111.846788, "lat": 21.897821}
]

蜂窝热力图效果如下:

蜂窝热力图

上一篇

绘制3D动态轨迹

下一篇

动态热力图

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