BIGEMPA Js API示例中心

动态热力图源代码展示

代码编辑区 运行 下载 还原
<!DOCTYPE html>

<html>
<head>
    <meta charset='UTF-8' />
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <!--
        以下CSS地址请在安装软件了替换成本地的地址
        CSS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
        软件下载地址 http://www.bigemap.com/reader/download/detail201802017.html
    -->
    <link href='http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.css' rel='stylesheet' />
    <!--
        JS地址请使用:
        http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
    -->
    <script src='http://www.bigemap.com:9000/bigemap.js/v2.1.0/bigemap.js'></script>
    <!--引入示例JS文件  相关下载地址 http://www.bigemap.com/Public/offline/heat_map/heat.zip-->
    <script src="/Public/offline/heat_map/heat.js"></script>
</head>
<style type="text/css">
    *{
        padding: 0;
        margin: 0;
    }
    html,body,#map{
        width: 100%;
        height: 100%;
    }
</style>
<body>
    <div id="map">

    </div>
</body>
<script>
    // 软件配置信息地址,软件安装完成之后使用本地地址,如:http://localhost:9000
    BM.Config.HTTP_URL = 'http://www.bigemap.com:9000';
    
    // 在ID为map的元素中实例化一个地图,并设置地图的ID号为 bigemap.zhongkexingtu,ID号程序自动生成,无需手动配置 ,中心点,默认的级别和显示级别控件
    var map = BM.map('map', 'bigemap.zhongkexingtu', { center: [0, 0], zoom: 2, zoomControl: true,attributionControl:false });
    // var points=addressPoints.map(function (p) { return [p[0], p[1]]; });
    var points=[];
    for(var i=0;i<1000;i++){
        points.push(getRandomLatLng());
    }

    var heat = BM.heatLayer(points,{minOpacity:0.5}).addTo(map);
    function getRandomLatLng() {
        var min = {lat:30.0,lng:103.194},
            max = {lat:30.66,lng:104.399},
            lngSpan = max.lng - min.lng,
            latSpan = max.lat - min.lat;
        return new BM.LatLng(
            min.lat + latSpan * Math.random(),
            min.lng + lngSpan * Math.random());
    }
    //添加一个状态判断
    var draw = true;
    //添加三个事件来判断
    map.on({
        movestart: function () { draw = false; },
        moveend:   function () { draw = true; },
        mousemove: function (e) {
            if (draw) {
                //将数据添加起来
                heat.addLatLng(e.latlng);
            }
        }
    })
</script>
</body>
</html>