目录

热力图

在地图上添加热力图图层,使用不同颜色表示地图上显示的点,这些点的集合使地图该区域以高亮的形式呈现。例如,您可以通过热力图展示地震分布情况,也可以通过热力图展示交通拥堵情况,提醒用户躲避拥挤地区。

添加热力图

  1. 添加被显示的点集合,部分坐标点示例:

    const points = [
        {
            "location": {
                "lng": -151.5129,
                "lat": 63.1016
            }
        },
        {
            "location": {
                "lng": -150.4048,
                "lat": 63.1224
            }
        },
        {
            "location": {
                "lng": -151.3597,
                "lat": 63.0781
            }
        },
        {
            "location": {
                "lng": -118.497,
                "lat": 34.299667
            }
        },
    ]

    点击points.zip下载完整坐标集合示例。

  2. 调用HWMapJsSDK.HWHeatmapLayer(map, points, opts)添加热力图图层。

    function initMap() {
        var mapOptions = {};
        mapOptions.center = {
            lat: 46.8755,
            lng: -112.516333
        };
        mapOptions.zoom = 4;
        mapOptions.language = 'en';
    
        // 初始化地图
        map = new HWMapJsSDK.HWMap(document.getElementById('map'), mapOptions);
        // 初始化热力图
        heatMap = new HWMapJsSDK.HWHeatmapLayer(map, points);
    }

自定义热力图

您可以通过以下属性来自定义热力图呈现形式。具体请参见HeatmapLayerOption。

属性

含义

radius

热力图半径,单位:px。取值范围:大于等于1,默认30。

intensity

热力图强度。取值范围:大于等于0,默认1。

opacity

热力图透明度。取值范围:[0, 1],默认1。

colors

热力图颜色。默认颜色:

[
    // 数组第一个颜色格式必须为rgba,且透明度为0
    'rgba(45, 29, 238, 0)',
    'rgba(29, 125, 238, 1)', 
    'rgba(25, 247, 187, 1)', 
    'rgba(249, 201, 23, 1)', 
    'rgba(249, 122, 23, 1)',
    'rgba(242, 16, 16, 1)',
]

隐藏热力图

从地图中隐藏热力图,请调用setMap()方法并将null作为传递参数。

heatMap.setMap(null);