006-ant design -结合echart-地址map市
基于上节的引用
// 引入 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市的更多相关文章
- ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】
一.概述 1.1.脚手架概念 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具.例如大多数的React项目都有src,public,webpack配置文件等等, ...
- 实现Ant Design 自定义表单组件
Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法 ...
- React+Ant Design设置左侧菜单导航路由的显示与隐藏(与权限无关)
最近在学习react时,用到了很流行的UI框架Ant Design,也了解了一下Ant Design Pro,发现它们都有导航组件,Ant Design框架的导航菜单在这里,Ant Design Pr ...
- ant design pro (三)路由和菜单
一.概述 参看地址:https://pro.ant.design/docs/router-and-nav-cn 二.原文摘要 路由和菜单是组织起一个应用的关键骨架,我们的脚手架提供了一些基本的工具及模 ...
- Ant Design项目记录和CSS3的总结和Es6的基本总结
这里主要是介绍自己运用ANT框架的一些小总结,以前写到word里,现在要慢慢传上来, 辅助生殖项目总结:从每个组件的运用的方法和问题来总结项目. 1.项目介绍 辅助生殖项目主要运用的是Ant.desi ...
- Ant Design 使用小结
最近公司做了一个系统,因为页面涉及的表单交互非常多,如果使用之前的 Node + Express 的开发模式效率是非常低的,因此经过考虑,最后决定使用 Node + React 的开发模式,并且使用了 ...
- Ant Design 学习记录
遇到的问题: 点击列表中的一个字段 , 显示出一条指定id(其他筛选条件的)数据 解决这个问题之前,要先了解 Antd的 Table中的 Column 列描述数据对象,是 columns 中的一项 ...
- Ant Design Pro V5 从服务器请求菜单(typescript版)
[前言] 找了很多Admin模板,最后还是看中了AntDesignPro(下文简写antd pro)这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro ...
- Ant Design 的一个练习小Demo
Ant Design 由蚂蚁金服团队出品, 基于 React 的组件化开发模式,封装了一套丰富而实用的 UI 组件库. 在这个练习Demo 中,按照 Ant Design 官网的教程示例,尝试使用 A ...
随机推荐
- Oracle行列转换的思考与总结
最近几天一直在弄Oracle-SQL的问题,涉及到了一些平时没有用到的东西,也因此而在这里郁闷了好久.现在问题得到了解决虽说不算完美.但是还是和大家一起分享一下. 行列转换之一:sum(case wh ...
- win10系统下cmd输入一下安装的软件命令提示拒绝访问解决办法
问题:win10系统安装了nvm,cmd命令提示不是内部或外部命令 解决:卸载nvm,重新安装,再一次输入nvm,发现正常显示: 问题:win10安装了nvm之后,安装node成功,输入node命令, ...
- 对ChemDraw Professional 16.0你了解多少
ChemDraw Professional 16.0组件为科学家提供了最新的科学智能应用程序组件,绘制化学结构图和分析生物路径图. ChemDraw Professional 16.0 ChemDr ...
- C语言对文件的操作函数用法详解1
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
- 通过phoenix创建hbase表失败,创建语句卡住,hbase-hmaster报错:exception=org.apache.hadoop.hbase.TableExistsException: SYNC_BUSINESS_INFO_BYDAY_EFFECT
问题描述: 前几天一个同事来说,通过phoenix创建表失败了,一直报表存在的错误,删除也报错,然后就针对这个问题找下解决方案. 问题分析: 1.通过phoenix创建表,一直卡住不动了.创建语句如下 ...
- Linux select 机制深入分析
Linux select 机制深入分析 作为IO复用的实现方式.select是提高了抽象和batch处理的级别,不是传统方式那样堵塞在真正IO读写的系统调用上.而是堵塞在sele ...
- swift - 之 UIColor使用自定义的RGB配色
1.10进制颜色 UIColor(red: /, green: /, blue: /, alpha: 0.5) 2.16进制颜色 UIColor(red: , green: , blue: , alp ...
- [转载]会引起全表扫描的几种SQL
查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like ‘%... ...
- PyQt4信号与槽
事件 事件(Events)是GUI程序中很重要的一部分.它由用户或系统产生.当我们调用程序的exec_()方法时,程序就会进入主循环中.主循环捕获事件并将它们发送给相应的对象进行处理.奇趣公司(Tro ...
- poj_1743 后缀数组
题目大意 给定一串数字,长度为N.定义数字中的某个连续的子串为一个"theme",只要子串满足: (1)长度 >= 5 (2)和该子串相同或者该子串的“变种串”在整串数字中出 ...