zoukankan      html  css  js  c++  java
  • 关于echarts地图下钻。

        在去年十二月份,前端老大交代个任务,关于地图下钻。这里做了个简单的青岛地图下钻,初学echarts,做的不精,凑合看看吧。

       第一步呢,先引入echarts等文件,这是最基本的。

        

        第二步,到官网下载青岛各区的json包,网址 http://ecomfe.github.io/echarts-map-tool/ (建议:在做地图下钻时,最好用json包,不用js文件)

            第三步,页面新建区域。

        <div id="main" style="height: 90%"></div>

        第四步,js文件内容,看代码。

      

    var chart = echarts.init(document.getElementById('main'));
             var cityProper = {
                 '城阳区': 'js/chengyang.json',
                 '崂山区': 'js/laoshan.json',
                 '李沧区': 'js/licang.json',
                 '市北区': 'js/shibei.json',
                 '市南区': 'js/shinan.json',
                 '黄岛区': 'js/huangdao.json',
                 '胶州市': 'js/jiaozhou.json',
                 '即墨市': 'js/jimo.json',
                 '莱西市': 'js/laixi.json',
                 '平度市': 'js/pingdu.json'
             };
             var data = [{
                 name: '城阳区'
             }, {
                 name: '崂山区'
             }, {
                 name: '李沧区'
             }, {
                 name: '市北区'
             }, {
                 name: '市南区'
             }, {
                 name: '黄岛区'
             }, {
                 name: '胶州市'
             }, {
                 name: '即墨市'
             }, {
                 name: '莱西市'
             }, {
                 name: '平度市'
             }];
    
             //获取青岛地图数据。
             $.get('js/qingdao.json', function(getJSON) { 
                 echarts.registerMap("青岛",getJSON)
                     option = {
                         grid: {
                            left: '5%',
                            right: '4%',
                            top:'0%',
                            bottom: '0%',
                            '100%',
                            containLabel: true
                        },
                        toolbox: {
                             show: true,
                             orient: 'vertical',
                             x: 'right',
                             y: 'center',
                             feature: {
                                 mark: {
                                     show: true
                                 },
                                 dataView: {
                                     show: true,
                                     readOnly: false
                                 }
                             }
                         },
                         series: [{
                             tooltip: {
                                 trigger: 'item'
                             },
                             name: '选择器',
                             type: 'map',
                             mapType: '青岛',
                             left: '20%',
                             top: '20%',
                            
                             roam: true,
                             selectedMode: 'single',
                             itemStyle: {
                                 normal: {
                                     label: {
                                         show: true
                                     }
                                 },
                                 emphasis: {
                                     label: {
                                         show: true
                                     }
                                 }
                             },
                             data: data
                         }],
                         animation: false
                     };
    
    
                     chart.setOption(option, false);
                     
                     chart.on("click", chartClick);
                })
                
             function chartClick(param){ 
                chart.setOption(option, false); 
    
                var selectedPro = param.name;
                if (!cityProper[selectedPro]) {
                     option.series.splice(1);
                     option.legend = null;
                     option.visualMap = null;
                     chart.setOption(option, true);
                     return;
                 }
                
                //获取点击区域数据
                 $.get(cityProper[selectedPro], function(geojson) {
                     echarts.registerMap(selectedPro, geojson);
                     //根据需求,如果要替换青岛地图,series参数为[0],不替换为[1],其中left、top自己设置。
                     option.series[0] = {
                         name: '选择器',
                         type: 'map',
                         mapType: selectedPro,
                         left: '20%',
                         top: '20%',
                          '18%',
                         roam: true,
                         selectedMode: 'single',
                         itemStyle: {
                             normal: {
                                 label: {
                                     show: true
                                 }
                             },
                             emphasis: {
                                 label: {
                                     show: true
                                 }
                             }
                         },
                         data: data
                     };
                    
                     chart.setOption(option, true);
                 })
    
             };

    效果图:

        第一篇文章,写的不好,莫怪,莫怪。。。。。

  • 相关阅读:
    已经菜到不行了 PAT 1010. Radix (25)
    容斥 或者 单调栈 hihocoder #1476 : 矩形计数 和 G. Snake Rana 2017 ACM Arabella Collegiate Programming Contest
    React的Context的使用方法简介
    canvas的进阶
    canvas的基础入门
    CSS3 中弹性盒模型--容器的属性
    creat-react-app搭建的项目中按需引入antd以及配置Less和如何修改antd的主题色
    D3.js 动画 过渡效果 (V3版本)
    D3.js(v3)+react 制作 一个带坐标轴与比例尺的折线图
    D3.js 弦生成器(V3版本)
  • 原文地址:https://www.cnblogs.com/wlpower/p/6369480.html
Copyright © 2011-2022 走看看