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

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.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%;
    }

    #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;

    // /設置投影函數:
    var projection = d3.geoMercator()
        .scale(700)// 投影的比例因子,可以按比例放大投影。
        .center([105, 38])//將中心點設置為經度105,緯度38,這里正好是中國地圖的中心點。
        .translate([width / 2, height / 2]);// 將投影的中心設置為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的元素節點
        g.selectAll('path')
            //.data(data.features) 綁定當前選擇器和數據。data的操作是“update”,表明選擇的dom元素已經和數據進行了綁定
            .data(data.features)
            //.enter() 返回輸入(enter)選擇:當前選擇中存在,但是當前dom元素中還不存在的每個數據元素的占位符節點。 
            .enter()
            //.append('path') 在當前選擇的每個元素最后追加具有指定名稱的新元素,返回包含追加元素的新選擇    
            .append('path')
            //.attr('d', path) 為所有選中元素設置名稱為”d”的屬性,值為path里面的每個值。即給svg添加的path元素設置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')
            //邊框寬度
            .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);
        //通過轉換的坐標來給svg添加g元素進行定點:
        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] + ')';
            });
        //通過定的點給svg的g元素添加circle元素,并填充顏色畫圓。
        location.append('circle')
            .attr('r', 5)
            .attr('fill', '#e91e63')
            .attr('class', 'location');

        //添加鼠標互動
        var tooltip = d3.select('#tooltip');
        //給svg的g標簽添加鼠標效果,鼠標一上去出現tooltip文字,并將圓圈放大二倍,且伴隨著延時動畫;鼠標移走也是同樣相反的動畫
        location.on('mouseover', function (d) {
            tooltip.html('當前城市:' + 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>                                                                                                                                                                                                                                                                        
主站蜘蛛池模板: 妙手网-圆心大药房-广东圆心恒金堂医药连锁有限公司-放心的网上药店_妙手医生旗下正规网上买药平台 | 天津佳创博为科技有限公司|AGV控制器|无人搬运车|磁导航传感器|AGV专业零配件 | 振动筛|不锈钢振动筛|振动筛生产厂家-新乡市大汉振动机械有限公司 | 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 | 投影仪配件,苏州投影仪维修,B60数显表维修-苏州市加野仪器有限公司 | 专业液压对辊,双齿辊破碎机,沙子烘干机,制砂洗沙设备生产线厂家 - 巩义市吉宏机械 | 冷藏车厂家-小型冷藏车价格_4.2米冷藏车价格-程力冷藏车厂家 | 西安测试仪-西安电压测试仪-西安电流测试仪-西安热油汽水测试仪-西安阻抗测试仪-西安时间速度测试仪-西安电力设备厂家-西安中洲电力设备有限公司 | 螺旋钢管厂家,临沂瑞源工贸有限公司 | 菏泽圣邦仪器仪表开发有限公司| 液压万能试验机价格_电子万能试验机|摩擦磨损试验机厂家-济南辰达试验机制造有限公司 | 吉林人才网_吉林招聘网_求职找工作平台 | 上海惠涵实业有限公司-德国进口风机,德国Elektror依莱克罗风机 上海画册设计-上海宣传册设计-产品手册设计-企业画册设计公司 | 济南排队机,济南触摸屏一体机,济南拼接屏广告机厂家,汇通视控 | 湖南长沙癫痫病医院_湖南癫痫病专科医院_湖南治疗癫痫病专业医院_长沙和谐医院有限公司 | 萍乡赣西肿瘤医院|萍乡赣西肿瘤医院--官网-萍乡赣西肿瘤医院 | 手术无影灯生产厂家-提供电动手术台,电动产床定制与批发-山东华辰医疗设备有限公司 | 数造云-面向3D打印的云制造平台 数控落地镗铣床_数控刨台式镗铣床_数控龙门加工中心-青岛辉腾机械设备有限公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 水硬度在线分析仪-氟离子|悬浮固体浓度分析仪-ldo分析仪-上海植茂 | 深圳展厅设计_产业园区展馆设计_展馆设计公司_健康产业展馆设计_展厅设计哪家好_华竣国际 | 真空工业炉-真空油淬炉-真空气淬炉-高温石墨化炉-江苏华弘真空科技有限公司 | 武汉净化机-武汉全热新风换气机-武汉静音送风机-武汉东信新风节能设备有限公司 | 激光焊接不锈钢翅片管,不锈钢翅片管,激光焊接复合翅片管,南通拓帆换热设备有限公司 | 砂金设备-淘金机械-金矿选矿设备厂家-青州冠诚重工机械有限公司 砂浆生产线_干混砂浆设备_干混砂浆生产线-苏州一工机械有限公司 | 内蒙古天奇生物科技有限公司——OEM代工|ODM定制|原料供应|骨肽|片剂|胶囊剂|口服液 | 清扫器-聚氨酯清扫器-合金清扫器-四连杆自动纠偏-机械纠偏-锥辊纠偏-衡水涌泉机械科技有限公司 | 思达测试|山东思达高科机械设备有限公司 | 松下PLC经销商-松下传感器-放大器-电磁阀-光电开关-金器[东莞均钛]品牌气动元件及工控产品一站式供应商 | 双相钢,双相不锈钢,2507双相不锈钢-海新双相钢 | 土石_泥石分离机_无轴滚筒筛_振动筛 - 巩义市鑫利重工机械制造有限公司 | 垃圾桶_垃圾桶厂家_临沂市旭宏塑料有限公司 | 和远智能-和远智能科技股份有限公司 | 太原塑料托盘,塑料筐,塑料箱,塑料垃圾桶_太原都程塑料制品有限公司 | 永磁耦合_重载永磁软起_能量回馈式调速器_磁力耦合器_江苏磁谷科技股份有限公司官方网站 | 制冷加热循环机,密闭高低温一体机,优质密闭低温冷冻机-无锡冠亚恒温制冷技术有限公司 | 制砂机-合金-耐磨锤头-耐磨衬板-铸造件厂家-巩义市豫园宏宇铸造有限公司 | 指挥调度|调度系统|应急指挥调度|应急指挥|可视化调度|多媒体指挥调度|融合通信|综合调度|应急指挥系统|IP调度系统-北京瑞光极远数码科技有限公司 | 快速卷帘门-电动卷帘门-快速堆积门-快速门厂家-任丘市康速机电设备有限公司 | 园林绿化平台|园林绿化网|苗木网|苗圃网||苗木报价网|园林招标网|园林苗木网|园林工程网|景观设计网|园林机械网|绿化苗木网| | 西安logo设计公司/西安包装设计公司/西安画册设计公司/西安广告公司/西安品牌设计公司/泰勒广告 雾度计-雾度仪-透光率测试仪-3nh品牌雾度仪生产厂家 |