找了好长时间没找到现成的案例,最后找到了各个省份的json文件遍联想到了上篇写的中国地图那个案例https://blog.csdn.net/qq_42281649/article/details/91489475
嵌套了一下,效果实现了,再次记录一下,希望可以帮到需要的小伙伴。

下图是各个省份的json,也包括js文件。

另附百度网盘地址链接:https://pan.baidu.com/s/1qAt7UzjFBzkx5p0KMj2KLw
提取码:qfi9

记录一下代码
Hainan.js

import React, {Component} from 'react'; import './App.css'; import echarts from 'echarts'; import geoJson from './hainan.json'; import {geoCoordMap,provienceData} from "./geo";class Hainan extends Component {constructor(props) {super(props);this.state = {}}componentDidMount() {this.initalECharts();}initalECharts() {const provienceData = [{name: '海口市', area: 'pink', type: 'areaCenterCity'},{name: '三亚市', area: 'green', type: 'areaCenterCity'},{name: '文昌市', area: 'blue', type: 'areaCenterCity'},{name: '定安县', area: 'green', type: 'areaCenterCity'},{name: '琼海市', area: 'pink', type: 'areaCenterCity'},{name: '万宁市', area: 'blue', type: 'areaCenterCity'},{name: '屯昌县', area: 'yellow', type: 'areaCenterCity'},{name: '澄迈县', area: 'blue', type: 'areaCenterCity'},{name: '儋州市', area: 'yellow', type: 'areaCenterCity'},{name: '临高县', area: 'pink', type: 'areaCenterCity'},{name: '保亭黎族苗族自治县', area: 'pink', type: 'areaCenterCity'},{name: '白沙黎族自治县', area: 'pink', type: 'areaCenterCity'},{name: '琼中黎族苗族自治县', area: 'green', type: 'areaCenterCity'},{name: '陵水黎族自治县', area: 'yellow', type: 'areaCenterCity'},{name: '乐东黎族自治县', area: 'blue', type: 'areaCenterCity'},{name: '东方市', area: 'yellow', type: 'areaCenterCity'},{name: '昌江黎族自治县', area: 'green', type: 'areaCenterCity'},{name: '五指山市', area: 'yellow', type: 'areaCenterCity'},{name: '三沙市', area: '东北大区', type: 'areaCenterCity'},{name: '西沙群岛', area: '东北大区', type: 'areaCenterCity'},{name: '南沙群岛', area: '东北大区', type: 'areaCenterCity'},{name: '中沙群岛', area: '东北大区', type: 'areaCenterCity'}];/*for(let item of provienceData) {if (item.area === '1') {alert(1);}}*/echarts.registerMap('hainan', geoJson);for(let item of provienceData){if(item.area === 'blue'){item.itemStyle = {normal: {areaColor: "#0CE4E4",},emphasis: {areaColor: "#0CE4E4",}}}else if(item.area === 'pink'){item.itemStyle = {normal: {areaColor: "#F4C3CB",},emphasis: {areaColor: "#F4C3CB",}}}else if(item.area === 'green'){item.itemStyle = {normal: {areaColor: "#8EF48E",},emphasis: {areaColor: "#8EF48E",}}}else if(item.area === 'yellow'){item.itemStyle = {normal: {areaColor: "#F7F7B5",},emphasis: {areaColor: "#F7F7B5",}}}else {item.itemStyle = {normal: {areaColor: "red",},emphasis: {areaColor: "red",}}}}//初始化ECharts实例const myChart = echarts.init(document.getElementById('mainMap'));myChart.setOption({geo: {map: 'hainan',roam: false,zoom: 1.2,tooltip: {show: false,       //不显示提示标签},label: {normal: {show: false,//显示省份标签textStyle:{color:"#c71585"}//省份标签字体颜色},emphasis: {//对应的鼠标悬浮效果show: false,textStyle:{color:"#800080"}}},itemStyle: {normal: {borderWidth: .5,//区域边框宽度borderColor: '#fff',//区域边框颜色areaColor:"#ffefd5",//区域颜色label:{show:false}},emphasis: {show: false,borderWidth: .5,borderColor: '#4b0082',areaColor: "#ffdead",}},},series: [{type: 'scatter',  //'line'(折线图) | 'bar'(柱状图) | 'scatter'(散点图) | 'k'(K线图)//'pie'(饼图) | 'radar'(雷达图) | 'chord'(和弦图) | 'force'(力导向布局图) | 'map'(地图)coordinateSystem: 'geo',data: this.convertData(provienceData),symbolSize: 10,symbolRotate: 40,label: {normal: {formatter: '{b}',position: 'bottom',show: true},emphasis: {show: false}},tooltip: {show: false,       //不显示提示标签formatter: '{c}',      //提示标签格式backgroundColor: "#fff",//提示标签背景颜色borderColor: '#ccc',borderWidth: 5,textStyle:{color:"#000"} //提示标签字体颜色},itemStyle: {normal: {color: 'black'}}},{type: 'map',mapType: 'hainan',roam: false,zoom: 1.2,tooltip: {show: false,       //不显示提示标签},label: {normal: {show: false    //显示省份标签},emphasis: {show: false,}},itemStyle: {//正常样式normal: {borderWidth: .2,      //区域边框宽度borderColor: '#fff',  //区域边框颜色label:{show:false}},//鼠标事件区块样式emphasis: {show: false,}},data: provienceData}],});myChart.on('click',function (params) {alert(params.name);/*const { dispatch } = this.props;dispatch({type: 'overview/select',payload: params.name,})*/});}convertData(data) {var res = [];for (var i = 0; i < data.length; i++) {var geoCoord = geoCoordMap[data[i].name];if (geoCoord) {res.push({name: data[i].name,value: geoCoord.concat(data[i].area),area: data[i].area,type: data[i].type,});}}console.log(res);return res;}render() {return (<div className="App"><div id="mainMap" style={{width:'100vm',height:'90vh'}} ></div></div>);}}export default Hainan;

App.css

.App {text-align: center; }.App-logo {animation: App-logo-spin infinite 20s linear;height: 80px; }.App-header {background-color: #222;height: 150px;padding: 20px;color: white; }.App-title {font-size: 1.5em; }.App-intro {font-size: large; }@keyframes App-logo-spin {from { transform: rotate(0deg); }to { transform: rotate(360deg); } }

gen.js(各个地区的经纬度可百度查询)

const provienceData = [];const geoCoordMap = {'三亚': [109.511909, 18.252847],'海口': [110.35, 20.02],'文昌': [110.72, 19.61],'定安': [110.31, 19.68],'琼海': [110.46, 19.25],'万宁': [110.39, 18.8],'屯昌': [110.1, 19.36],'澄迈': [110, 19.75],'儋县': [109.57, 19.52],'临高': [109.69, 19.91],'保亭': [109.7, 18.64],'白沙': [109.44, 19.23],'琼中': [109.83, 19.05],'陵水': [110.02, 18.48],'崖县': [109.5, 18.25],'乐东': [109.17, 18.73],'东方': [108.64, 19.09],'昌江': [109.03, 19.25], };export {provienceData, geoCoordMap}

效果图:

效果图有点丑还没有调试。

react+echarts做各个省份地图相关推荐

  1. echarts国内各省份地图js/json文件,全球地图js文件/汉化,字符云js文件

    echarts国内各省份地图js/json文件,全球地图js文件/汉化,字符云js文件 下载链接 世界地图 中国地图 国内各省份地图 字符云 下载链接 https://github.com/FuHan ...

  2. ECharts如何制作省份地图并在地图上显示自定义图标/散点图

    之前一直被客户提的一个需求烦恼着,他要只显示某个省份的地图,并且呢要在地图上显示小车的图标,还有其它一些点的信息.我以前只用过echarts做过图表,没做过地图,所以自己也是网上看了很多并且看了很多a ...

  3. Echarts 绘制单独省份地图

    1. 文档介绍 采用node端http-server作为服务端,引用第三方插件Echarts 2.阅读对象 本篇文章要求开发者熟悉 HTML.JavaScript.CSS.Echarts.Nodejs ...

  4. ECharts加载省份地图

    因为项目只需要展示单独省份的城市,而目前Echarts官网已不再提供地图下载功能. 详细见:EChartsMap ECharts地图下载 但是可以从ECharts安装包中找到矢量地图数据,文件路径 n ...

  5. 使用echarts简单制作省份地图

    引入echarts.min.js文件,http://echarts.baidu.com/download.html下载地址 引入对应省份的js文件 可以在http://echarts.baidu.co ...

  6. 利用 Echarts 简单制作省份或区域地图步骤

    用 Echarts 无论是制作省份地图还是区县域地图,他们的步骤都是基本一样的. 下面本人就 利用 Echarts 简单绘制省份地图 的步骤与经验与各位分享一下. 1.准备工作 1.1 下载js静态文 ...

  7. ECharts 在省份地图上定制自定义图标

    ECharts 在省份地图上定制自定义图标 原型上有个生态分布的板块,就像是每个国家想把国旗插到月球啊,北极,南极之类的,然后点击右侧的 lenged 能够打开关闭相应的部分.具体情况如下: 要想实现 ...

  8. vue3.0使用echarts完成中国地图以及各省份地图

    在做数据页面的时候,很多时候需要地图来标注数据,但是怎样使用地图呢? 1,先安装echarts包 yarn add echarts 2,在main.js中引入 import echarts from  ...

  9. echarts做中国地图分布

    1.echart@5以上版本好像去处理map地图,想要用echarts制作地图得拿到china.json(中国各省份经纬度),我会放到文章最下面 2.china.json引入 import data ...

最新文章

  1. netfilter的笔记3--那些内置的表
  2. STM32学习笔记(七) ADC模数转换测电平(普通和DMA模式)
  3. 如何解决Android studio已分享到github的项目但是git->commit directory提交不上去
  4. vb.net怎么调用fastreport报表_财务分析-企业财务管理报表模板制作实现智能化的财务运营...
  5. 电脑用电量_闲置电脑也能赚钱?「BOINC算力地球」借区块链技术扩大共享算力...
  6. android 输入金额,EditText输入金额保留两位小数点
  7. android 2.0 qq同步,Android刷机:QQ同步助手恢复手机资料攻略
  8. 鸿蒙系统即将发布,华为鸿蒙商标获转让
  9. excel判断两列中同一行的数据是否一致
  10. 边界安全技术简要说明
  11. iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
  12. PL/SQL 连接Oracle 11g
  13. JavaScript黑魔法:不可阻止的“自动下载”
  14. c语言模拟开关题目,8x16 模拟开关阵列芯片 CH446Q.PDF
  15. TBODY的使用方法和意义
  16. MEMOS 技术支持
  17. 百度云盘 破解上传限制4G(利用种子)
  18. Linux系统管理上机作业2
  19. CTF网络安全大赛介绍
  20. 爬取猫眼票房保存在MySQL_Scrapy爬取猫眼电影并存入MongoDB数据库

热门文章

  1. 实现一款俄罗斯方块小游戏非常简单!但是要实现AI自动俄罗斯方块才算牛逼!
  2. 图像分析,使用Halcon进行缺陷检测
  3. python入门学习之小工具制作系列--01使用tkinter库封装(人生重开模拟器)小游戏
  4. android 魅族手机bug多,魅族Flyme 8系统上手体验:小窗模式2.0很好用,但还有小bug...
  5. 2021城阳一中高考成绩查询,城阳一中2017届高考录取喜报
  6. Python之DNS解析
  7. MAC地址飘移查看及解决方法 一般是网络中存在环路
  8. 【大数据】城市公交网络分析与可视化(五):获取公交平均路线长度、站点数、站距
  9. 计算机怎么传输信息,局域网信息怎么传输
  10. AprilTag中TAG_36h11系列识别速率与准确性(VISP)