地图 下钻时 ,同一个区域点击多次会出现 如下图 报错

原因是 每次引入的JSON文件都是新的,应该对绘图所需的JSON文件进行缓存
因为 echarts 会绘制解析 json 之后 执行 decode 方法 后 会将其 UTF8Encoding 的值 从 true 改为false,第二次绘制 时如果 为 false 则 不需要走 decode 方法,如果每次都是新引入的 json,那每次都走 decode 就会报错

// 问题代码
// chinaJson 中国地图json
// names => ['黑龙江', '辽宁', '吉林']
const newJson = Object.assign({}, chinaJson)
newJson.features = chinaJson.features.reduce((pre, nex) => {if (names.includes(nex.properties.name)) {pre.push(nex)}return pre
}, [])
echarts.registerMap(name, newJson)
// 解决代码
// 缓存计算后的json数据,如果计算过就不重新计算了
let regionsInfo = {}
if (!regionsInfo[name]) {const newJson = Object.assign({}, chinaJson)newJson.features = chinaJson.features.reduce((pre, nex) => {if (names.includes(nex.properties.name)) {pre.push(nex)}return pre}, [])regionsInfo[name] = newJson
}
echarts.registerMap(name, regionsInfo[name])

注意:
vue 获取本地json文件时,用 import 方式 获取
await import(’…/…/utils/city/’ + provincesMap[this.name] + ‘.json’)
此时需要 Object.assign({}, json) 拷贝一次
从文件中获取的是只读数据,不可更改,echarts 自然也没办法 decode之后更改值,也就会报错

Echarts 报错 Uncaught Error: Invalid geoJson format coordinate.charCodeAt is not a function相关推荐

  1. echarts报错Uncaught SyntaxError: Unexpected token ‘<‘

    问题重现 最近需要研究echarts做图表,打算在html中先引用echarts试试. 于是百度到echarts官网的教程:5 分钟上手 ECharts <!DOCTYPE html> & ...

  2. JS报错: Uncaught SyntaxError: Invalid shorthand property initializer

    JS报错: Uncaught SyntaxError: Invalid shorthand property initializer 如果你的代码报错以上提示, 那么就去检查一下, 对应的代码是不是把 ...

  3. 高德地图根据经纬度调用api报错Uncaught Error: USERKEY_PLAT_NOMATCH(10009)

    一.翻车现场: 根据经纬度调用高德地图api获取相应信息的时候,报错 Uncaught Error: USERKEY_PLAT_NOMATCH(10009) 二.解决方案: 经过排查发现,是高德中的k ...

  4. 报错Uncaught SyntaxError: Invalid or unexpected token怎么解决

    首先打开了f12发现报错了Uncaught SyntaxError: Invalid or unexpected token查找了一些资料,是说什么标点符号不对,还有许多,我的都不是这些原因,我是从后 ...

  5. Vue在浏览器报错Uncaught Error: Cannot find module ‘[object Object]‘

    报错信息: Uncaught Error: Cannot find module '[object Object]' at webpackEmptyContext (eval at ./src/api ...

  6. angualr 做路由跳转的时候报错Uncaught Error: Component HomeComponent is not part of any NgModule or the module

    报错:Uncaught Error: Component HomeComponent is not part of any NgModule or the module has not been im ...

  7. vue-router报错: uncaught error during route navigation

    bug场景: H5项目中,浏览器流程走的通,ios流程走得通,安卓机有的可以有的不行 报错信息: 提示:这里描述项目中遇到的问题: 例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据 A ...

  8. Mac 升级系统后idea执行git命令报错xcrun: error: invalid active developer path的解决办法

    本来用着电脑上的IntelliJ IDEA 上git用的好好的,闲来无事升级了一下系统,结束发现git不能用了. 两步解决 1.安装xcode 2.IntelliJ IDEA 并配置git,Test ...

  9. Nginx报错 nginx: [error] invalid PID number ““ in “/usr/local/nginx/logs/nginx.pid“

    今天因为某些原因重装了Nginx,修改好nginx.conf配置文件后,在sbin目录下执行 ./nginx -t 显示是OK的,但是在执行./nginx -s reload 时报错,提示: ngin ...

最新文章

  1. 孙鑫mfc学习笔记第十四课
  2. java直接打开word_Java
  3. 58 Node.js中操作mongoDB数据库
  4. System.Windows.Forms命名空间的MessageBox.show()用法大全
  5. 如何在C++中动态建立二维数组
  6. JFinal 1.5 发布,JAVA极速WEB+ORM框架
  7. 工作这几年所获、所感、所悟
  8. 虚拟机中ubuntu可以使用显卡吗_在KVM下使用ubuntu19.10安装Anbox
  9. 指定的参数已超出有效值的范围_整流二极管的特性和重要参数
  10. 文件上传之二利用frame实现无页面刷新的文件上传
  11. linux多线程加解锁
  12. 「PPT模板」 商务UI风格
  13. win11没有uefi如何安装 windows11跳过uefi模式的安装方法
  14. Atitti 存储引擎支持的国内点与特性attilax总结
  15. 【C语言】03-第一个C程序代码分析
  16. linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。
  17. Python+Opencv身份证号码区域提取及识别
  18. 微信小程序5-真机测试
  19. Chrome浏览器通过EasyPlayer播放多路flv视频流后浏览器崩溃是什么原因?
  20. 湖南中职计算机考试练习题

热门文章

  1. html5 播放http-flv视频流和hls视频流demo
  2. Android音视频 - OpenGL GLSL基础
  3. 绩效管理-反馈的强大
  4. 四大会计师事务所python数据分析_四大VS八大|会计师事务所实习
  5. AI智能机器人的语音消息使用方式
  6. 汇编语言学习入门+亲自实操+图形并茂
  7. VCS 仿真filelist文件生成
  8. 证明三角形中tanA/2tanB/2+tanA/2tanC/2+tanB/2tanC/2=1
  9. vue项目打包后直接修改ip地址
  10. Django项目如何生成数据库表