基于上节的引用

// 引入 ECharts 主模块
import echarts from 'echarts/lib/echarts';
// 引入 ECharts 图形模块
import 'echarts/lib/chart/line';
import 'echarts/lib/chart/bar';
import 'echarts/lib/chart/pie';
import 'echarts/lib/chart/scatter';
import 'echarts/lib/chart/custom';
import 'echarts/lib/chart/effectScatter';
import 'echarts/map/js/china';
// 引入ECharts 提示框和标题组件
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
import 'echarts/lib/component/legend'; import React, {Component, Fragment} from 'react';
import {connect} from 'dva';
import { Card,} from 'antd'; // 可以写更多城市信息
const geoCoordMap =
{
'海门': [121.15, 31.89],
'鄂尔多斯': [109.781327, 39.608266],
'招远': [120.38, 37.35],
'舟山': [122.207216, 29.985295],
'齐齐哈尔': [123.97, 47.33],
'盐城': [120.13, 33.38],
'赤峰': [118.87, 42.28],
'青岛': [120.33, 36.07],
'乳山': [121.52, 36.89],
'金昌': [102.188043, 38.520089],
'泉州': [118.58, 24.93],
} @connect(({summary, loading}) => ({
summary,
loading: loading.effects['summary/fetchList'],
}))
export default class SummaryMapCity extends Component {
state = {
cityMapLevelChart: {},// 追溯地理分布 地图
}; // 容器装载
componentDidMount() {
this.setState({
// 追溯地理分布 地图
cityMapLevelChart: echarts.init(document.getElementById('cityMapLevel')),
});
} // 地图数据 这里是生成series的数据,将经纬度和value值映射起来,根据这个方法,写了一个方法,生成同样格式的数据,实现了对value的屏蔽。
HandleConvertMapData = (data) => {
const res = [];
for (let i = 0; i < data.length; i++) {
const geoCoord = geoCoordMap[data[i].name];
if (geoCoord) {
res.push({
name: data[i].name,
value: geoCoord.concat(data[i].value),
});
}
}
return res;
} renderSearchData = () => {
const {cityMapLevelChart} = this.state;// 当前初始化
const {summary: {cityMapLevelData},} = this.props;// 获取数据 // 追溯地理分布 地图
if (cityMapLevelChart && Object.keys(cityMapLevelChart).length !== 0
&& cityMapLevelData && Object.keys(cityMapLevelData).length !== 0) {
cityMapLevelChart.setOption({
backgroundColor: '#edf3e5',
title: {
text: '中国(省份)',
x: 'left',
textStyle: {
color: '#fff',
},
},
tooltip: {
trigger: 'item',
formatter: function (params) {
return params.name + ' : ' + params.value[2];
},
},
geo: {
map: 'china',
label: {
emphasis: {
show: false,
},
},
itemStyle: {
normal: {
areaColor: '#b3dbf4',
borderColor: '#ffffff',
},
emphasis: {
areaColor: '#93cbf3',
},
},
},
series: [
{
name: '扫码省份分布',
type: 'scatter',
coordinateSystem: 'geo',
// data: this.HandleConvertMapData(cityMapLevelData),
data: this.HandleConvertMapData([
{"name": "海门", "value": 9},
{"name": "鄂尔多斯", "value": 12},
{"name": "招远", "value": 12},
{"name": "舟山", "value": 12},
{"name": "齐齐哈尔", "value": 14},
{"name": "盐城", "value": 15},
{"name": "赤峰", "value": 16},
{"name": "青岛", "value": 18},
{"name": "乳山", "value": 18},
{"name": "金昌", "value": 19},
{"name": "泉州", "value": 21},
],),
symbolSize: 12,
label: {
normal: {
show: false,
},
emphasis: {
show: false,
},
},
itemStyle: {
emphasis: {
borderColor: '#fff',
borderWidth: 1,
},
},
},
],
});
}
} render() { this.renderSearchData();
return (
<Fragment>
<Card
bordered={true}
title="追溯地理分布(省)"
bodyStyle={{padding: 24}}
style={{marginTop: 24, minHeight: 500, height: '50%'}}
>
<div id="cityMapLevel" style={{width: '88%', height: 400}}></div>
</Card>
</Fragment>
);
}
}

添加路由使用即可

一、结合Echart使用

1、在state中定义echart组件名

2、在componentDidMount中初始化echart组件

3、在render中增加调用渲染代码,并且赋值setOption

  

006-ant design -结合echart-地址map市的更多相关文章

  1. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】

    一.概述 1.1.脚手架概念 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具.例如大多数的React项目都有src,public,webpack配置文件等等, ...

  2. 实现Ant Design 自定义表单组件

    Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法 ...

  3. React+Ant Design设置左侧菜单导航路由的显示与隐藏(与权限无关)

    最近在学习react时,用到了很流行的UI框架Ant Design,也了解了一下Ant Design Pro,发现它们都有导航组件,Ant Design框架的导航菜单在这里,Ant Design Pr ...

  4. ant design pro (三)路由和菜单

    一.概述 参看地址:https://pro.ant.design/docs/router-and-nav-cn 二.原文摘要 路由和菜单是组织起一个应用的关键骨架,我们的脚手架提供了一些基本的工具及模 ...

  5. Ant Design项目记录和CSS3的总结和Es6的基本总结

    这里主要是介绍自己运用ANT框架的一些小总结,以前写到word里,现在要慢慢传上来, 辅助生殖项目总结:从每个组件的运用的方法和问题来总结项目. 1.项目介绍 辅助生殖项目主要运用的是Ant.desi ...

  6. Ant Design 使用小结

    最近公司做了一个系统,因为页面涉及的表单交互非常多,如果使用之前的 Node + Express 的开发模式效率是非常低的,因此经过考虑,最后决定使用 Node + React 的开发模式,并且使用了 ...

  7. Ant Design 学习记录

    遇到的问题: 点击列表中的一个字段 , 显示出一条指定id(其他筛选条件的)数据 解决这个问题之前,要先了解 Antd的 Table中的  Column  列描述数据对象,是 columns 中的一项 ...

  8. Ant Design Pro V5 从服务器请求菜单(typescript版)

    [前言] 找了很多Admin模板,最后还是看中了AntDesignPro(下文简写antd pro)这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro ...

  9. Ant Design 的一个练习小Demo

    Ant Design 由蚂蚁金服团队出品, 基于 React 的组件化开发模式,封装了一套丰富而实用的 UI 组件库. 在这个练习Demo 中,按照 Ant Design 官网的教程示例,尝试使用 A ...

随机推荐

  1. HEVC有损优化二

    1 .  HEVC有很些设置对速度的提升有很大的帮助,比如m_bUseEarlyCU,m_useEarlySkipDetection等. 把它们设置成true,会有意想不到的效果. 比如对于不同分辨率 ...

  2. Java精选笔记_HTTP协议

    HTTP协议 HTTP概述 介绍 HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议. HTTP是一种请求/响应式的协议,客户端在与服务器端建立连接后,就可以向 ...

  3. Android中的渐变

    LinearGradient的用法 LinearGradient linearGradient; linearGradient = new LinearGradient(0, 0, 0, getHei ...

  4. linux 提示符>怎样退出

    在linux(Red Hat)字符界面下,不小心输入了上漂号 ’ ,结果命令提示符变成了>,然后在q.exit.ctrl+c.ctrl+z都回不去了,不知道怎么回到#的命令提示符?   表示ct ...

  5. 【Mysql】解决插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

    背景: 用户输入的表单里边.存在 手机自带的表情,  在执行插入时候报错 Incorrect string value: '\xF0\x9F\x92\x8BTi...' 错误原因:我们在设置mysql ...

  6. Uni2D —— 入门(全)

    Uni2D 入门 Uni2D 入门 -- Atlas Uni2D 入门 -- Animation Clip 和 Animation API Uni2D 入门 -- Skeletal Animation ...

  7. 关于js的面向对象设计

    function Person( name, age ){ this.name = name; this.age = age; this.sleep = function(){ alert( this ...

  8. 报错 ERROR in static/js/vendor.b3f56e9e0cd56988d890.js from UglifyJs

    开发vux项目在引入 // 表单验证组件-start import zh_CN from 'vee-validate/dist/locale/zh_CN' import Validator from ...

  9. IIS 无法访问.net的动态文件

    编译器错误消息:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319... 在“c:\windows\temp”这个文件夹添 ...

  10. Lucene4.x创建索引与3.x的一些不同

    lucene3.x的时候创建Field的时候可以直接指定存储和索引的选项类下下边这样: doc.add(new Field("createrId",diaryField.getCr ...