亚洲动漫在线观看-亚洲动漫第一页-亚洲丁香婷婷-亚洲丶国产丶欧美一区二区三区-亚洲第一综合网站-亚洲第一永久色

BIGEMPA Js API示例中心

單個(gè)地圖展示源代碼展示

代碼編輯區(qū) 運(yùn)行 下載 還原
                                    <!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地址請(qǐng)?jiān)诎惭b軟件了替換成本地的地址
            CSS地址請(qǐng)使用:
            http://localhost:9000/bigemap.js/v2.1.0/bigemap.css
            軟件下載地址 http://www.bjxdny.cn/reader/download/detail201802017.html
        -->
    <link href='http://www.bjxdny.cn:9000/bigemap.js/v2.1.0/bigemap.css' rel='stylesheet' />
    <!--
            JS地址請(qǐng)使用:
            http://localhost:9000/bigemap.js/v2.1.0/bigemap.js
        -->
    <script src='http://www.bjxdny.cn:9000/bigemap.js/v2.1.0/bigemap.js'></script>
    <script src="http://www.bjxdny.cn/Public/common/js/jquery.min.js"></script>
    <script src="http://www.bjxdny.cn/Public/js/d3.min.js"></script>
</head>
<style>
    body {
        margin: 0;
        padding: 0;
    }

    #map {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
    }

    #world {
        width: 100%;
        height: 100vh;
        background: url('/Public/images/d3xk.jpg') no-repeat;
        /* overflow: hidden; */
        background-size: cover;
    }

    #svg {
        width: 1024px;
        height: 600px;
        margin: 0 auto;
        display: block;
    }

    #tooltip {
        opacity: 0;
        position: absolute;
        padding: 10px;
        background: #333333;
        border: 2px solid #e8e8e8;
        color: #33cc99;
        font-size: 14px;
        border-radius: 4px;
    }

    svg :hover {
        cursor: pointer
    }
</style>

<body>
    <div id="world">
        <svg id="svg" #svg></svg>
        <div id="tooltip"></div>
    </div>
</body>
<script>
    // /定義繪制的svg的大小:
    var width = 1024;
    var height = 600;

    // /設(shè)置投影函數(shù):
    var projection = d3.geoMercator()
        .scale(700)// 投影的比例因子,可以按比例放大投影。
        .center([105, 38])//將中心點(diǎn)設(shè)置為經(jīng)度105,緯度38,這里正好是中國(guó)地圖的中心點(diǎn)。
        .translate([width / 2, height / 2]);// 將投影的中心設(shè)置為svg的中心。
    var path = d3.geoPath(projection);

    //顏色比例尺
    var colors = d3.scaleOrdinal(d3.schemeCategory10);



    $.get('/Public/d3json/sichuan.json', function (data) {
        // data = JSON.parse(data)
        console.log(data);
        var svg = d3.select('#svg')
            .attr('width', width)
            .attr('height', height);
        var g = svg.append('g')
        //.selectAll('path') 選中svg中所有匹配path的元素節(jié)點(diǎn)
        g.selectAll('path')
            //.data(data.features) 綁定當(dāng)前選擇器和數(shù)據(jù)。data的操作是“update”,表明選擇的dom元素已經(jīng)和數(shù)據(jù)進(jìn)行了綁定
            .data(data.features)
            //.enter() 返回輸入(enter)選擇:當(dāng)前選擇中存在,但是當(dāng)前dom元素中還不存在的每個(gè)數(shù)據(jù)元素的占位符節(jié)點(diǎn)。 
            .enter()
            //.append('path') 在當(dāng)前選擇的每個(gè)元素最后追加具有指定名稱的新元素,返回包含追加元素的新選擇    
            .append('path')
            //.attr('d', path) 為所有選中元素設(shè)置名稱為”d”的屬性,值為path里面的每個(gè)值。即給svg添加的path元素設(shè)置d屬性,d屬性的值是需要繪制的路徑
            .attr('d', path)
            //填充顏色
            .attr('fill', 'white')
            .transition()
            .duration(1000)
            .delay((d, i) => {
                return i * 500
            })
            .attr('fill', function (d, i) {
                return colors(i);
            })
            //邊款顏色
            .attr('stroke', 'rgba(255, 255, 255, 1')
            //邊框?qū)挾?
            .attr('stroke-width', 2);

        var price = []
        data.features.map((d, i) => {
            // console.log(d.properties);
            price.push([
                {
                    'name': d.properties.name,
                    'log': d.properties.center[0],
                    'lat': d.properties.center[1]
                },
            ])
        })
        console.log(price);
        //通過轉(zhuǎn)換的坐標(biāo)來給svg添加g元素進(jìn)行定點(diǎn):
        var location = g.selectAll('.location')
            .data(price)
            .enter()
            .append('g')
            .attr('class', 'location')
            .attr('transform', (d) => {
                console.log(d[0]);
                var coor = projection([d[0].log, d[0].lat]);
                return 'translate(' + coor[0] + ',' + coor[1] + ')';
            });
        //通過定的點(diǎn)給svg的g元素添加circle元素,并填充顏色畫圓。
        location.append('circle')
            .attr('r', 5)
            .attr('fill', '#e91e63')
            .attr('class', 'location');

        //添加鼠標(biāo)互動(dòng)
        var tooltip = d3.select('#tooltip');
        //給svg的g標(biāo)簽添加鼠標(biāo)效果,鼠標(biāo)一上去出現(xiàn)tooltip文字,并將圓圈放大二倍,且伴隨著延時(shí)動(dòng)畫;鼠標(biāo)移走也是同樣相反的動(dòng)畫
        location.on('mouseover', function (d) {
            tooltip.html('當(dāng)前城市:' + d[0].name)
                .style('left', d3.event.pageX + 20 + 'px')
                .style('top', d3.event.pageY + 20 + 'px')
                .style('opacity', 1);
            d3.select(this).select('circle').transition()
                .duration(150)
                .attr('r', 8);
        }).on('mouseout', function () {
            tooltip.style('opacity', 0);
            d3.select(this)
                .select('circle')
                .transition()
                .duration(150)
                .attr('r', 5);
        });

        //添加文字
        location.append('g').append('text').text(d => d[0].name).attr('font-size', 15)
            .attr('transform', 'translate(-8,2)').attr('fill', 'white')
        var zoom = d3.zoom()
            .scaleExtent([1, 8])
            .on("zoom", zoomed);
        function zoomed() {
            g.attr('transform', d3.event.transform)
        }
        svg.call(zoom)

    })






</script>

</html>                                                                                                                                                                                                                                                                        
主站蜘蛛池模板: 亚洲www美色 | 国内自拍成人网在线视频 | 色伦网 | 日本高清在线观看天码888 | 成人在线小视频 | 女教师的一级毛片 | 亚洲精品国产自在现线最新 | 夫妻性生活在线 | 日本厕所spy2wc | 欧美日韩一区二区三区在线视频 | 99九九国产精品免费视频 | 91久久国产综合精品 | 亚洲天堂2015 | 草莓视频深夜释放 | 国产成人久久精品推最新 | 114毛片免费观看网站 | 成人亚洲欧美日韩在线观看 | 午夜亚洲精品久久久久久 | 99热最新| 希岛爱理aⅴ在线中文字幕 午夜综合网 | 免费lulu网站 | 天美网站传媒入口网址 | 久久99热狠狠色一区二区 | 91视频免费观看网站 | 五月精品 | 国产精品久久久久久影视 | 国产第一页在线视频 | 久久足恋网 | 亚洲色大成网站www久久九九 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 91精品国产色综合久久 | 欧美视频在线一区 | 亚洲日本中文字幕在线2022 | 国产成人久久精品一区二区三区 | 无码一区二区三区视频 | 好猛好紧好硬使劲好大刺激视频 | 免费看成人毛片日本久久 | juliaann大战黑人 | 欧美亚洲另类综合 | 韩国最新三级网站在线播放 | 能播放的欧美同性videos |