国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

React 使用recharts實現散點地圖的示例代碼

2019-11-19 12:22:53
字體:
來源:轉載
供稿:網友

一、前端框架react+ant design UI

二、首先安裝recharts

npm install recharts

或者

yarn add recharts

三、引入插件及chinaJSON.js(里面有經緯度信息)

由于項目需要我是全部存數據庫的,因為也需要自己添加,下面附一份兒全國省市縣經緯度數據

chinaJSON.js_jb51.rar

import React,{Component} from 'react';import {message} from 'antd';import echarts from "echarts";import {mapJson,geoCoordMap} from './chinaJSON.js';

三、具體實現代碼如下

import React,{Component} from 'react';import {message} from 'antd';import echarts from "echarts";import {mapJson,geoCoordMap} from './chinaJSON.js';const convertData = (data) => {  var res = [];  for (var i = 0; i < data.length; i++) {    var geoCoord = geoCoordMap[data[i].name];    if (geoCoord) {      res.push({        value: geoCoord.concat(data[i].value),        name: data[i].name,      });    }  }  return res;};class LayoutImg extends Component {  constructor() {   super();   this.state = {    loading: true,    loaded:false,    vmData:[        {name: '云浮', value: 24,num:10},        {name: '煙臺', value: 28,num:5},        {name: '昆山', value: 33,num:8},        {name: '泰州', value: 36,num:10},        {name: '廣州', value: 38,num:8},        {name: '深圳', value: 41,num:10},        {name: '三亞', value: 54,num:12},        {name: '成都', value: 58,num:20},        {name: '重慶', value: 66,num:5},        {name: '大慶', value: 279,num:10}        ]   }  }  componentDidMount() {   this.initMapDidMount();  }  initMapDidMount(){   echarts.registerMap('china', mapJson); // 注冊地圖   var mapChart = echarts.init(document.getElementById('map'));   var option = {     backgroundColor: '#404a59',     title: {      text: '分布',      // subtext: '點擊進入',      // sublink: 'http://www.baidu.com/',      left: 'center',      textStyle: {        color: '#fff'      }     },     tooltip : {      trigger: 'item',      formatter: function (params) {      //格式化鼠標指到點上的彈窗返回的數據格式        return params.name + ' : ' + params.value[2];      }     },     geo: {         //地里坐標系組件(相當于每個省塊)      map: 'china',      roam:true,      //是否開啟縮放       label: {        emphasis: {        //鼠標劃到后彈出的文字 顯示省份         color: '#FF0000',    //高亮背景色         show: true,       //是否高亮顯示         fontSize:12       //字體大小        }      },      itemStyle: {         //坐標塊本身        normal: {         //坐標塊默認樣式控制         areaColor: '#323c48',  //坐標塊兒顏色         borderColor: '#111'        },        emphasis: {         areaColor: '#79FF79'  //放坐標塊兒上,塊兒顏色        }      }     },     series: [      {        name: '信息',   // series名稱        type: 'effectScatter',    // series圖表類型        effectType: 'ripple',     // 圓點閃爍樣式,目前只支持ripple波紋式        coordinateSystem: 'geo',   // series坐標系類型        data:convertData(this.state.vmData),// series數據內容        showEffectOn: 'emphasis',    //配置何時顯示特效 render 一直顯示,emphasis放上去顯示        symbolSize: function (val) {          return val[2] / 10;        },        rippleEffect: {        // ripple的樣式控制         brushType: 'stroke',         color: '#28FF28',        },        label: {          normal: {            formatter: '{b}',            position: 'right',            show: true   //顯示位置信息,          }        },        itemStyle: {         //散點本身顯示控制         normal: {           color: '#28FF28',           shadowBlur: 10,           shadowColor: '#28FF28'         }        },        zlevel: 1      }     ],     symbolSize: 12,   }   if (option && typeof option === "object") {     mapChart.setOption(option);   }  }  render() {   return (     <div className="cloudhost-box">        <div id="map" style={{width: '1100px',height: '550px',mergeLeft:"0px"}} />     </div>   );  }} export default LayoutImg;

效果圖如下:

附:有什么其它的相關配置可以看官網再做具體修改recharts地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聊城市| 明溪县| 丘北县| 应城市| 汶川县| 丰镇市| 灌阳县| 集安市| 漠河县| 阿瓦提县| 云霄县| 山阳县| 岫岩| 改则县| 伊吾县| 大理市| 和静县| 达州市| 治多县| 蒙山县| 正镶白旗| 乌审旗| 扬州市| 石阡县| 江永县| 读书| 木兰县| 临清市| 寿光市| 蕉岭县| 平昌县| 濮阳市| 岳池县| 安庆市| 兴业县| 文水县| 铅山县| 布拖县| 始兴县| 吴旗县| 磐石市|