热力图接口案例

    <!DOCTYPE html>  
    <html lang="en">  
    <head>  
    <!DOCTYPE html>  
    <html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=vN5VO8968DYOBd28UNSxQSlC4V83Rc5"></script>  
        <script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>  
        <title>热力图功能示例</title>  
        <style type="text/css">  
            #container{height:207px;179px;}   
        </style>  
    </head>  
    <body>  
        <div id="container"></div>    
    </body>  
    </html>  
    <script type="text/javascript">  
        var map = new BMap.Map("container");          // 创建地图实例  
      
        var point = new BMap.Point(108.25, 33.05);  
        map.centerAndZoom(point, 9);             // 初始化地图,设置中心点坐标和地图级别  
        map.enableScrollWheelZoom(); // 允许滚轮缩放  
      //石泉老街 108.25281,33.04371
      //燕翔洞 108.160726,32.800537
        //子午银滩 108.07572,33.272254
        //中坝大峡谷 108.138825,32.918189
        //后柳水乡 108.230534,32.937468
        //熨斗古镇  108.169116,32.802236


        var points =[  
      
    {"lng":"108.25281","lat":"33.04371","count":"10123456778"},  
    {"lng":"108.160726","lat":"32.800537","count":"23450"},  
    {"lng":"108.07572","lat":"33.272254","count":"23450"},  
    {"lng":"108.138825","lat":"32.918189","count":"230"},  
    {"lng":"108.230534","lat":"32.937468","count":"234560"},  
    {"lng":"108.169116","lat":"32.802236","count":"23450"},  
    

    ];
      
      
        if(!isSupportCanvas()){  
            alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')  
        }  
        //详细的参数,可以查看heatmap.js的文档 https://github.com/pa7/heatmap.js/blob/master/README.md  
        //参数说明如下:  
        /* visible 热力图是否显示,默认为true  
         * opacity 热力的透明度,1-100  
         * radius 势力图的每个点的半径大小  
         * gradient  {JSON} 热力图的渐变区间 . gradient如下所示  
         *  {  
                .2:'rgb(0, 255, 255)',  
                .5:'rgb(0, 110, 255)',  
                .8:'rgb(100, 0, 255)'  
            }  
            其中 key 表示插值的位置, 0~1.  
                value 为颜色值.  
         */  
        heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":20});  
        map.addOverlay(heatmapOverlay);  
        heatmapOverlay.setDataSet({data:points,max:100});  
      
        closeHeatmap();  
      
        //判断浏览区是否支持canvas  
        function isSupportCanvas(){  
            var elem = document.createElement('canvas');  
            return !!(elem.getContext && elem.getContext('2d'));  
        }  
      
        function setGradient(){  
            /*格式如下所示:  
            {  
                0:'rgb(102, 255, 0)',  
                .5:'rgb(255, 170, 0)',  
                1:'rgb(255, 0, 0)'  
            }*/  
            var gradient = {};  
            var colors = document.querySelectorAll("input[type='color']");  
            colors = [].slice.call(colors,0);  
            colors.forEach(function(ele){  
                gradient[ele.getAttribute("data-key")] = ele.value;  
            });  
            heatmapOverlay.setOptions({"gradient":gradient});  
        }  
      
       
            heatmapOverlay.show();  
     
    </script>  
 

原文地址:https://www.cnblogs.com/zhouwen2017/p/8514374.html