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 ...
随机推荐
- SQL中查询语句的使用
常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一.简单查询语句 1. 查看表结构 ...
- 扩展方法和Lambda之练习手记
扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段. 扩展方法是一个只能在静态类中声明的静态方法 Lambda 是一个表达式 ,学会了 可以使代码简洁,也是装13的利器. ...
- python2.7.13环境搭建
查看当前系统中的 Python 版本,可以看到实验室的这台服务器已经安装了 Python 2.6.6 python --version 检查 CentOS 版本,我们可以看到这台服务器的 CentOS ...
- ubuntu samba
Linux 下的文件共享利器 Samba 想必大家已经非常熟悉了,今天我们介绍下如何在Ubuntu 14.04中使用 Samba 共享网络文件.打印机和其它公共资源. 1.安装 Samba 和图形配置 ...
- nagios监控mysql
在nagios上部署check_mysql_health 监控mysql 博客分类: 架构 本监控为基于nagios服务器主动监控方法,利用check_mysql_health实现多种监控模式: ...
- Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
有两张表, 一张为爱好表b表 一张为用户表 u表 u表 id 名称 爱好Id 1 张三 1,2,3,4 2 李四 2,5 b表 id 名称 1 打乒乓 2 ...
- LeetCode——Kth Largest Element in an Array
Description: Find the kth largest element in an unsorted array. Note that it is the kth largest elem ...
- Python 中的线程-进程2
原文:https://www.cnblogs.com/i-honey/p/7823587.html Python中实现多线程需要使用到 threading 库,其中每一个 Thread类 的实例控制一 ...
- 配置项目使用weblogic的JNDI数据源
项目结构构:Spring Framework + SpirngMVC + SpringData JPA + Maven 1.在weblogic的控制台界面中配置数据源(假定我们配置的数据源的名称为da ...
- Egret3D初步学习笔记四 (地形使用)
一 导出地形 Skinedmesh没反应.得选择导出scene. 二 直接报错 三 修改错误 选择关闭程序后,仍然可以导出完成. 由于地图的lightmap.exr没法解析报错. 在获得MapCon ...