当前位置:   article > 正文

react使用echarts地图实现中国地图大区展示

项目所在地中国地图上标识效果

   日常项目中经常会用到百度地图或者echarts图标展示,今天给大家展示的是如何在react开发项目中使用百度echars的地图展示,把中国地图分为东北大区、华东大区、华南大区、华西大区、华中大区以及华北大区并用颜色标识方便识别。

    最终展示效果如下:

  

我是直接用的react官方提供的create-react-app快速构建开发环境,之后就是cnpm install --save echarts 安装echarts依赖了。

在项目中引入echarts以及中国地图数据,并引入模拟的大区地图数据。

import echarts from 'echarts';
import 'echarts/map/js/china';
import geoJson from 'echarts/map/json/china.json';
import {geoCoordMap,provienceData} from "./geo";

 

geo.js是模拟的大区地图数据,由于现在echarts地图数据在线生成工具不能使用,为我们的开发带来许多不便,但我们仍能从以前的开发列子中找到生成方法,具体推荐大家观看官方社区地图实例:
http://gallery.echartsjs.com/explore.html#charts=map~sort=rank~timeframe=all~author=all
 刚开始看echarts也被里面的各种配置参数所迷糊,但写了几遍后不难理解地图是如何构建的,最主要的是在setOption里面的option参数,其中尤其series配置参数最为重要,根据需要展示的地图,把地图分为map、scatter两类,在分别对两个参数进行配置修改,具体的实现是在initalECharts方法里面,并在componentDidMount生命周期中调用:
 
    componentDidMount() {
        this.initalECharts();
    }
    initalECharts() {
        const data = [
            {name: '上海', area: '华东大区', type: 'areaCenterCity'},
            {name: '深圳', area: '华南大区', type: 'areaCenterCity'},
            {name: '成都', area: '华西大区', type: 'areaCenterCity'},
            {name: '北京', area: '华北大区', type: 'areaCenterCity'},
            {name: '武汉', area: '华中大区', type: 'areaCenterCity'},
            {name: '沈阳', area: '东北大区', type: 'areaCenterCity'},
        ];
        echarts.registerMap('zhongguo', geoJson);
        for(let item of provienceData){
            if(item.area === '东北大区'){
                item.itemStyle = {
                    normal: {
                        areaColor: "#3CA2FC",
                    },
                    emphasis: {
                        areaColor: "#3CA2FC",
                    }
                }
            }else</
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/108881
推荐阅读