zoukankan      html  css  js  c++  java
  • map 地图组件

    地图选择器网址
    baseUrl:
    https://gallerybox.echartsjs.com 

    1.geo+

    +波纹

    // https://gallerybox.echartsjs.com/asset/get/s/data-1591343795436-TgLtkd9hN.json
    
    (function () {
      let mapDate = [{
        name: '江干区',
        value: [120.185, 30.274, 2999]
      },
      {
        name: '拱墅区',
        value: [120.182, 30.351, 6354]
      },
      {
        name: '西湖区',
        value: [120.091, 30.27, 5841]
      },
      {
        name: '滨江区',
        value: [120.21, 30.209, 9842]
      },
      {
        name: '萧山区',
        value: [120.254, 30.159, 29999]
      },
      {
        name: '余杭区',
        value: [120.295, 30.427, 10245]
      },
      {
        name: '富阳区',
        value: [119.956, 30.05, 23014]
      },
      {
        name: '桐庐县',
        value: [119.675, 29.784, 10245]
      },
      {
        name: '淳安县',
        value: [119.058, 29.613, 45210]
      },
      
      {
        name: '建德市',
        value: [119.28, 29.464, 36524]
      },
      {
        name: '临安区',
        value: [119.712, 30.227, 32014]
      },
      {
        name: '钱塘新区',
        value: [120.485, 30.284, 62247]
      }
      ];
      let option = {
        title: {
          top: 20,
          text: '“困难人数” - 杭州市',
          left: 'left',
          textStyle: {
            color: '#fff'
          }
        },
        //视觉映射组件
        visualMap: {
          type: 'piecewise',//分段型视觉映射组件
          // min: 0,
          // max: 1000000,
          right: 100, //视觉映射组件位置
          inverse: true,//是否反转视觉映射组件
          seriesIndex: 1,//指定取哪个系列的数据 seriesIndex=1对应type=effectScattereffectScatter系列,这里面的data属性和需要视觉映射
          bottom: 100,
          textStyle: {
            color: '#FFFF'
          },
    
          // lt(小于,little than),gt(大于,greater than)
          //分段
          pieces: [{
            gt: 50000,
            color: 'red',
            label: '困难人数大于5万人'
          }, //(50000,+无穷)
          {
            gt: 30000,
            lte: 50000,
            color: 'green',
            label: '困难人数3-5万人'
          }, //(30000,50000]
          {
            gt: 10000,
            lte: 30000,
            color: 'yellow',
            label: '困难人数1-3万人'
          }, //(10000,30000]
          {
            lte: 10000,
            color: 'pink',
            label: '困难人数小于1万人' //[-无穷,10000]
          }
          ],
    
        },
    
        // //地理坐标系组件。放在下面
        geo: {
          map: 'hanzhou',
          aspectScale: 0.75, //长宽比
          zoom: 1.3,
          roam: false, //是否开启鼠标缩放和平移漫游true='scale' +'move'
          itemStyle: {
            // areaColor: 'red',// 
            shadowColor: 'rgba(0,0,0,.7)', //182f68
            shadowOffsetX: 10,
            shadowOffsetY: 15, //作为阴影陪衬
          }
        },
        series: [
          {
            type: 'map',
            zoom: 1.3, //当前视角的缩放比例。
            roam: false,
            map: 'hanzhou', //echarts.registerMap('hanzhou')必须同名
    
            label: { //地图区域上的文字
              show: true,
              textStyle: {
                color: '#fff'
              },
    
            },
            itemStyle: {
              borderColor: '#2ab8ff',//2ab8ff
              borderWidth: 1.5,
              areaColor: '#12235c', //这个才是地图区域颜色
            },
            emphasis: {
              label: {
                show: true,
                color: "#fff",
                fontWeight: 700,
                fontSize: 18,
              },
              itemStyle: {
                areaColor: '#2AB8FF', //鼠标放上去的强调色
                borderColor: "green"
              }
    
            }
          },
          {
            type: 'effectScatter', //带有涟漪特效动画的散点
            coordinateSystem: 'geo', //该系列使用的坐标系就是上面定义的 geo坐标系
            effectType: 'ripple', //特效类型,目前只支持涟漪特效'ripple'。
            showEffectOn: 'render', //配置何时显示特效。render' 绘制完成后显示特效。
            rippleEffect: { //涟漪特效相关配置。
              period: 10, //动画的周期,秒数。
              scale: 3, //动画中波纹向外扩散的最大距离
              brushType: 'fill' //波纹的绘制方式 可选 'stroke' 和 'fill'。
            },
            symbol:'circle', //波纹标记的图形。circle  rect roundRect arrow
            symbolSize:17, //波纹最里面的大小
            hoverAnimation: true,
            // 一旦用了visualMap itemStyle配置无效
            // itemStyle: {
            //   color: '#fff',
            //   shadowBlur: 10,
            //   shadowColor: '#333',
            //   borderType:'dotted'
            // },
            data: mapDate
          }
    
        ]
      };
    
      $.get('/data/1hangzhou.json', handleData)
      function handleData(geoJson) {
        echarts.registerMap('hanzhou', geoJson);
        drawMap()
      }
      function drawMap() {
        let map1 = document.getElementById('map1')
        let myChart = echarts.init(map1)
        myChart.setOption(option)
      }
    
    
    
    
    })();
    View Code

    2上海人口密度

    visualMap type:continuous

    ,//分段型视觉映射组件

    // 上海人口密度
    (function () {
      const mapDate = [
        // 也可以是省略经纬度简写的数据  {name: '中西区', value: 20057.34},
        { name: '黄浦区', value: [121.490317, 31.222771, 34640.6929895246] }, //x ,y value 经纬度 value
        { name: '徐汇区', value: [121.43752, 31.179973, 19816.1066471877] },
        { name: '长宁区', value: [121.4222, 31.218123, 18030.5744125326] },
        { name: '静安区', value: [121.448224, 31.229003, 32386.8766404199] },
        { name: '普陀区', value: [121.392499, 31.241701, 23506.8575597301] },
        { name: '虹口区', value: [121.491832, 31.26097, 36306.4735945486] },
        { name: '杨浦区', value: [121.522797, 31.270755, 21623.9420385312] },
        { name: '闵行区', value: [121.375972, 31.111658, 6552.58799730276] },
        { name: '宝山区', value: [121.489934, 31.398896, 7029.35901693789] },
        { name: '嘉定区', value: [121.250333, 31.383524, 3169.39034898751] },
        { name: '浦东新区', value: [121.567706, 31.245944, 4167.53827215572] },
        { name: '金山区', value: [121.330736, 30.724697, 1249.78756078833] },
        { name: '松江区', value: [121.223543, 31.03047, 2612.76996235387] },
        { name: '青浦区', value: [121.113021, 31.151209, 1613.12859999403] },
        { name: '奉贤区', value: [121.458472, 30.912345, 1576.19837355795] },
        { name: '崇明区', value: [121.397516, 31.626946, 593.612767716303] },
      
      
    
      ]
      let option = {
        title: {
          text: '上海人口密度',
          left: 'left',
          textStyle: {
            color: '#fff'
          }
    
        },
        tooltip: {
          trigger: 'item', //'{b}<br/>{c} (人/平方公里)'
          formatter: params => {
            return `${params.name}<br/>${params.value.toFixed(2)} (人/平方公里)`
          }
        },
        visualMap: {
          type: 'continuous', //continuous
          min: 400,
          max: 35000,
          seriesIndex: 0,
          text: ['High', 'Low'],
          realtime: false,
          calculable: true,
          left:10, //视觉映射组件位置
          inRange: {
            color: ['lightskyblue', 'yellow', 'orangered']
          },
          textStyle: {
            color: '#FFFF'
          },
        },
        series: [
          {
            name: '上海人口密度',
            type: 'map',
            map: 'shanghai', // 必须和 echarts.registerMap('shanghai', getJson);一样
            zoom: 1.3, //当前视角的缩放比例。
            roam: true,
            label: {
              show: true
            }, emphasis: {
              label: {
                show: true,
                color: "#fff",
                fontWeight: 700,
                fontSize: 18,
              },
              itemStyle: {
                areaColor: 'yellow', //鼠标放上去的强调色
                borderColor: "green"
              }
    
            },
    
            data: mapDate
            // 自定义名称映射
            // nameMap: {
            //   'Central and Western': '中西区',
            //   'Eastern': '东区',
            // }
          }
        ]
      };
      $.get('/data/shanghai.json', handleData)
      function handleData(getJson) {
        echarts.registerMap('shanghai', getJson);
        drawMap()
    
      }
      function drawMap() {
        let map2 = document.getElementById('map2')
        let myChart = echarts.init(map2)
        myChart.setOption(option)
      }
    })();
    View Code
  • 相关阅读:
    写在最前面
    Bzoj 2281 [Sdoi2011]黑白棋 题解
    bzoj3125: CITY 题解
    CDQZ 集训大总结
    CDQZ集训DAY10 日记
    CDQZ集训DAY9 日记
    CDQZ集训DAY7 日记
    CDQZ集训DAY6 日记
    CDQZ集训DAY5 日记
    CDQZ集训DAY4 日记
  • 原文地址:https://www.cnblogs.com/xiaoliziaaa/p/13236109.html
Copyright © 2011-2022 走看看