BIGEMAP卫星地图_高清卫星地图_北斗高清地图_地图软件_矢量地图数据_专题地图

BIGEMPA Js API示例中心

D3 個性展示數據源代碼展示

代碼編輯區 運行 下載 還原
<!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.cnhrsm.com/reader/download/detail201802017.html
        -->
    <link href='http://www.cnhrsm.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.cnhrsm.com:9000/bigemap.js/v2.1.0/bigemap.js'></script>
    <script src="http://www.cnhrsm.com/Public/common/js/jquery.min.js"></script>
    <script src="http://www.cnhrsm.com/Public/js/d3.min.js"></script>
</head>
<style>
    body {
        margin: 0;
        padding: 0;
    }

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

    .pulse-icon {
        display: inline-block;
        width: 15px;
        height: 15px;
        border-radius: 100%;
        background-color: #2f8;
        position: relative;
        box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.75);
    }

    .pulse-icon:after {
        content: "";
        box-shadow: 0 0 6px 2px #2f8;
        animation: pulsate 1s ease-out;
        animation-iteration-count: infinite;
        animation-delay: 1.1s;
        -webkit-border-radius: 100%;
        border-radius: 100%;
        height: 300%;
        width: 300%;
        animation: pulsate 2s infinite;
        position: absolute;
        margin: -100% 0 0 -100%;
    }

    @keyframes pulsate {
        0% {
            transform: scale(0.1, 0.1);
            opacity: 0;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
            filter: alpha(opacity=0);
        }

        50% {
            opacity: 1;
            -ms-filter: none;
            filter: none;
        }

        100% {
            transform: scale(1.2, 1.2);
            opacity: 0;
            -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
            filter: alpha(opacity=0);
        }
    }

    .d3 {
        position: absolute;
        top: 7px;
    }

    .dataname {
        display: flex;
    }

    .dataname h4 {
        flex: 2;
        color: red;
        padding-top: 104px;
        text-align: center;
        padding-right: 33px;
    }



    #left {
        position: absolute;
        z-index: 10;
        width: 300px;
        height: 100%;
        background-color: black;
        opacity: .7;
        top: 0px;
    }

    #right {
        position: absolute;
        z-index: 10;
        width: 300px;
        height: 100%;
        background-color: black;
        opacity: .7;
        right: 0px;
        top: 0px;
    }
</style>

<body>
    <div id="map"> </div>
    <div id="left">
        <div class="ld3"></div>
    </div>
    <div style="position: absolute;
    color: white;
    z-index: 99;
    left: 120px;">
        <h4 style="margin-top: 199px;">A數據</h4>
        <h4 class="B" style="margin-top:200px">B數據</h4>
        <h4 class="C" style="margin-top:200px">C數據</h4>
    </div>
    <div id="right">
        <div class="rd3"></div>

    </div>
    <div style="position: absolute;
    color: white;
    z-index: 99;
    right: 120px;">
        <h4 class="D" style="margin-top: 199px;">D數據</h4>
        <h4 class="E" style="margin-top:200px">E數據</h4>
        <h4 class="F" style="margin-top:200px">F數據</h4>
    </div>
</body>
<script>

    //軟件配置信息地址,軟件安裝完成之后使用本地地址,如:http://localhost:9000
    BM.Config.HTTP_URL = 'http://www.cnhrsm.com:9000';
    // 在ID為map的元素中實例化一個地圖,并設置地圖的ID號為 bigemap.zhongkexingtu,ID號程序自動生成,無需手動配置,并設置地圖的投影為百度地圖 ,中心點,默認的級別和顯示級別控件
    var map = BM.map('map', 'bigemap.zhongkexingtu', { center: [30, 104], zoom: 4, zoomControl: true });
    var myIcon = BM.divIcon({ className: 'my-div-icon', html: '<div><span class="pulse-icon"></span></div>' });
    for (let i = 0; i < 15; i++) {
        BM.marker([20 + 20 * Math.random(), 80 + 40 * Math.random()], { icon: myIcon }).addTo(map);
    }

    //定義畫布高度 寬度
    var height = 700
    var width = 300
    //定義一個接收定時器的數組
    var interarr = []
    var svg1 = d3.select('.ld3').append('svg').attr('height', height).attr('width', width)
    var svg2 = d3.select('.rd3').append('svg').attr('height', height).attr('width', width)
    //畫餅圖
    setcircle(svg1, 100, 'c1')
    setcircle(svg1, 320, 'c2')
    setcircle(svg1, 550, 'c3')
    setcircle(svg2, 100, 'c4', true, 1000)
    setcircle(svg2, 320, 'c5', true)
    setcircle(svg2, 550, 'c6', true, 4000)
    //定義標記點擊事件
    $('.pulse-icon').on('click', function () {
        interarr.map(d => {
            clearInterval(d)
        })
        d3.selectAll('.circle').remove()

        //畫餅圖
        setcircle(svg1, 100, 'c1')
        setcircle(svg1, 320, 'c2')
        setcircle(svg1, 550, 'c3')
        setcircle(svg2, 100, 'c4', true, 1000)
        setcircle(svg2, 320, 'c5', true)
        setcircle(svg2, 550, 'c6', true, 4000)


    })
    //--------------------------------------    --------------------------------------------------------------------------

    function setcircle(svgname, down, classname = c1, type = false, time = 2000) {
        //定義畫布
        var picture = svgname.append('g').attr('class', 'circle').attr('transform', `translate(150,${down})`)
        //定義餅圖生成器
        var arcGenerator = d3.arc().innerRadius(30).outerRadius(80).startAngle(0);
        //背景圓
        var backGround = picture.append("path")
            .datum({ endAngle: 2 * Math.PI })
            .style("fill", "snow")
            .attr("d", arcGenerator);

        //顏色比例尺
        var colorLinear = d3.scaleLinear().domain([0, 100]).range(["#EEE685", "#EE3B3B"])
        var num
        //生產隨機數
        setnum()
        function setnum() {
            num = Math.random()
            num = num.toFixed(2) * 100
            if (num % 1 === 0) {
                return num
            } else {
                setnum()
            }
        }
        // console.log(num);
        //生產圖形
        var upperGround = picture.append('path')
            .datum({ endAngle: Math.PI * 2 * num / 100 })
            .attr('class', classname)
            .style('fill', '#FFC125')
            .attr('d', arcGenerator)
        //生產文字
        var dataText = picture.append('text')
            .text(num + '%')
            .attr('text-anchor', 'middle')
            .attr('dominant-baseline', 'middle')
            .attr('font-size', '17px')
            .attr('fill', 'white')
        if (type === true) {
            //定時器 定時更新圖形
            var aa = setInterval(function () {
                d3.select(`.${classname}`).transition().duration(750).attrTween('d', function (d) {
                    var compute = d3.interpolate(d.endAngle, Math.random() * Math.PI * 2);
                    return function (t) {
                        d.endAngle = compute(t);
                        var data = d.endAngle / Math.PI / 2 * 100;
                        //設置數值
                        dataText.text(data.toFixed(0) + '%');
                        //將新參數傳入,生成新的圓弧構造器
                        return arcGenerator(d);
                    }
                }).styleTween('fill', function (d) {
                    return function (t) {
                        var data = d.endAngle / Math.PI / 2 * 100;

                        //返回數值對應的色值
                        return colorLinear(data);
                    }
                })

            }, time)
            //將計時器添加到數組
            interarr.push(aa)
        }
    }

</script>

</html>                                                                                    
主站蜘蛛池模板: 小型静音无油空压机价格-医用无油制氧空气压缩机-浙江盛源水润滑空压机制造有限公司 | 开关柜无线测温_电缆接头测温系统_六氟化硫sf6气体泄漏报警监测_卫星同步时钟-山东正瑞电子有限公司 | 洁净室、手术室、实验室、无尘车间厂房的净化工程装修设计施工公司-福临建设 | 小型生活污水处理设备_MBR膜生物反应器_口腔医院/脱脂污水处理设备_酸洗磷化/喷涂废水处理设备-上海台江环保 | 康复支具-医用颈托-辅助固定矫形器-骨折固定带生产厂家-安平县康信医疗器械有限公司 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 中空吹塑-PETG吹塑加工-吹塑玩具-东莞市鹏美塑胶五金有限公司 | 太阳能路灯生产厂家-郑州太阳能高杆灯价格-道路照明智能路灯-河南坤德照明 | 太原重卡叔叔运输有限公司-山西太原大件运输、太原物流公司、太原货运物流、太原大件运输、太原货运信息、长治物流公司、长治大件运输、晋城物流公司、晋城大件运输、忻州大件运输、朔州大件运输、阳泉大件运输、大同大件运输、吕梁大件运输、临汾大件运输、运城大件运城 | 热门网页游戏平台_页游排行榜_新开网页游戏开服表_599游戏 | 一体化净水器-一体化净水设备-集成式|装配式模块化净水设备-山东奕博环境 | 中山四海家具制造有限公司| 水平转头微孔板离心机-米欧微孔板离心机-北京乾明基因技术 | 直流电机调速器,直流电机控制器,直流电机调速电源-淄博诚铖创惠电子有限公司 | 赛车微信群二维码平台下载【找群网zhaoqun5.com】 | 上饶环亚电脑会计培训学校--电脑学校|上饶电脑学校|上饶电脑培训|会计培训|上饶会计培训|上饶县会计培训|广丰会计培训|玉山会计培训|横峰会计培训|上饶网店培训 上进电缆(嘉兴)股份有限公司官网 - 光伏电缆|防火电缆|电力电缆|铝合金电缆专业生产厂家 | 宿迁市华泰交通设施有限公司,上海第四代路名牌,天津仿罗马柱路名牌,标准路名牌,路名牌灯箱,公交站台,户外广告灯箱, 交通标志牌,社区阅报栏 | 易交换在线易货电商平台-互联网易物贸易,以物换物-无锡据风网络科技有限公司 | 润东方环保空调厂家-水冷式空调价格-润东方水冷空调-东莞市科骏机电设备有限公司 | 铝基板_铜基板_铝基板厂家诚之益电路—汽车灯铜基板行业制商 | 湖南长沙癫痫病医院_湖南癫痫病专科医院_湖南治疗癫痫病专业医院_长沙和谐医院有限公司 | 声测管厂家_注浆管现货_桩基声测管_河北沧州新迈实业有限公司 | 武汉印刷厂_为企业提供宣传单页彩页印刷_武汉折页印刷_海报设计印刷与制作 - 武汉泽雅印刷公司 | 青岛色粉_色母及改性塑料供应厂家 - 青岛建轩新材料有限公司 | 陕西老医协生殖医学医院_陕西省老医协生殖医学医院【官方网站】 陕西教师资格网-陕西教师资格考试网 | 混凝土布料机,隧道布料机,衬砌台车布料装置 - 河北聚力智能装备有限公司 | 生活污水处理设备-地埋式污水处理设备厂家-山东梦之洁水处理设备有限公司 | 江苏广分检测技术有限公司、电力安全工具检测、苏州绝缘工具检测、昆山电力安全工具检测-广分检测技术(苏州)有限公司 | 强德防盗门-防盗门厂家-中国防盗门十大品牌-强德门业 - 浙江臻品工贸有限公司 | 木马交互设计研究中心 ,专注于用户体验与人机交互设计 - 首页 | 武汉印刷厂_为企业提供宣传单页彩页印刷_武汉折页印刷_海报设计印刷与制作 - 武汉泽雅印刷公司 | 耐火砖厂家价格-郑州荣盛窑炉耐火材料有限公司 | 气象站_校园气象站_自动气象站_光伏气象站-山东万象环境科技有限公司 | 昆明塑料包装袋|云南塑料包装袋|昆明塑料袋厂家|云南茶叶大米蔬菜种子食品包装袋就来阮门包装有限公司 | 热水工程|太阳能热水工程|空气能热水工程|太阳能集热工程 | 软文营销推广-新闻稿发布-软文撰写-百科词条编辑-品牌全案策划推广网络营销传播-喜尚传媒 | 中国焊接协会网站—中国焊接信息网;焊接行业最权威访问量最大的专业网站:焊接信息、焊接材料,焊接机器,焊接设备,焊机,焊材,辅助设备,焊机配件,仪器仪表,电动工具,钎焊,送丝机,表面处理,自动化专机,焊锡丝,助焊剂 | 辣椒烘干机-百信机械提供大中小型辣椒烘干机房设备视频图片厂家价格多少钱 | 九江赛璐珞实业有限公司-赛璐珞板,赛璐璐板材,PVC装饰膜,PVC片材,醋酸纤维胶板_多彩装饰材料生产厂家 | 自动封箱机_纸箱封箱机_封箱机厂家-青岛百高包装器材有限公司 | 移动破碎站-洗沙机-球磨制砂机-污泥处理-青州冠诚重工机械有限公司 |