BIGEMPA Js API示例中心

地图鼠标特效源代码展示

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!--
                以下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>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/d3/5.16.0/d3.min.js"></script>

</head>
<style>
    body {
        margin: 0;
        /* background: #111; */
        min-width: 960px;
    }

    #map {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
        pointer-events: all;
    }

    .d3 {
        position: absolute;
        z-index: 99;
    }
</style>

<body>
    <div id="map"></div>
</body>

<script>

    //软件配置信息地址,软件安装完成之后使用本地地址,如:http://localhost:9000
    BM.Config.HTTP_URL = 'http://www.bigemap.com:9000';
    // 在ID为map的元素中实例化一个地图,并设置地图的ID号为 bigemap.googlemap-streets,ID号程序自动生成,无需手动配置,并设置地图的投影为百度地图 ,中心点,默认的级别和显示级别控件
    var map = BM.map('map', 'bigemap.googlemap-streets', { center: [33, 80], zoom: 4, zoomControl: true, attributionControl: false });

    map.on('click', () => {
        console.log(1);
    })

    var width = Math.max(960, innerWidth),
        height = Math.max(500, innerHeight);
    var x1 = width / 2,
        y1 = height / 2,
        x0 = x1,
        y0 = y1,
        i = 0,
        r = 50,
        τ = 2 * Math.PI;
    var canvas = d3.select('#map').append("canvas")
        .attr("width", width)
        .attr("height", height)
        .attr('class', 'd3')
        .on("ontouchstart" in document ? "touchmove" : "mousemove", move);

    var context = canvas.node().getContext("2d");
    context.globalCompositeOperation = "lighter";
    context.lineWidth = 2;

    d3.timer(function () {
        context.clearRect(0, 0, width, height);
        var z = d3.hsl(++i % 360, 1, .5).rgb(),
            c = "rgba(" + z.r + "," + z.g + "," + z.b + ",",
            x = x0 += (x1 - x0) * .1,
            y = y0 += (y1 - y0) * .1;

        d3.select({}).transition()
            .duration(2000)
            .ease(Math.sqrt)
            .tween("circle", function () {
                return function (t) {
                    context.strokeStyle = c + (1 - t) + ")";
                    context.beginPath();
                    context.arc(x, y, r * t, 0, τ);
                    context.stroke();
                };
            });
    });

    function move() {
        var mouse = d3.mouse(this);
        x1 = mouse[0];
        y1 = mouse[1];
        d3.event.preventDefault();
    }

</script>

</html>