由于项目的需求,需要做一种迁徙效果, 最后我们采用了组件化开发,可以说这个坑自己一个人踩,有点累,但也收获不少。

vue-cli +echarts-amap集成echarts和高德地图,出现报错,错误如下

webpack-internal:///./node_modules/vue/dist/vue.esm.js: [Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'dataToPoint' of null"

found in

---> <VChart> at node_modules/vue-echarts/components/ECharts.vue
<EchartsAmap> at src/components/EchartsAmap.vue
<App> at src/App.vue
<Root>
warn @ webpack-internal:///./node_modules/vue/dist/vue.esm.js:
webpack-internal:///./node_modules/vue/dist/vue.esm.js: TypeError: Cannot read property 'dataToPoint' of null
at Object.progress (webpack-internal:///./node_modules/echarts/lib/chart/lines/linesLayout.js:)
at Task.eval (webpack-internal:///./node_modules/echarts/lib/stream/Scheduler.js:)
at doProgress (webpack-internal:///./node_modules/echarts/lib/stream/task.js:)
at Task.taskProto.perform (webpack-internal:///./node_modules/echarts/lib/stream/task.js:)
at eval (webpack-internal:///./node_modules/echarts/lib/stream/Scheduler.js:)
at HashMap.each (webpack-internal:///./node_modules/zrender/lib/core/util.js:)
at eval (webpack-internal:///./node_modules/echarts/lib/stream/Scheduler.js:)
at Array.forEach (<anonymous>)
at each (webpack-internal:///./node_modules/zrender/lib/core/util.js:)
at performStageTasks (webpack-internal:///./node_modules/echarts/lib/stream/Scheduler.js:)
logError @ webpack-internal:///./node_modules/vue/dist/vue.esm.js:

网上找了很多方法,但是都没有解决的办法,但是用google搜索了一下,也有人遇到这样的一个问题,但是就是没有解决,经过一个早上的决斗,还是自己解决了。

先看下 ECharts配置项,echarts用的底图是高德地图,网上资源很少,多多少少会遇到些问题。

const series_ = [
//闪动的线
{
name: "上海 Top10",
coordinateSystem: "amap",
type: "lines",
zlevel: 1,
effect: {
show: true,
period: 6,
trailLength: 0.7,
color: "#2f44c8",
symbolSize: 3
},
lineStyle: {
normal: {
color: "#2f44c8",
width: 0,
curveness: 0.2
}
},
data: [
{
fromName: "上海",
toName: "包头",
coords: [
[
121.4648,
31.2891
],
[
109.853634, 40.651412
]
],
value: 95
}
]
},
//轨迹
{
name: "上海 Top10",
coordinateSystem: "amap",
type: "lines",
zlevel: 2,
symbol: [
"none",
"arrow"
],
symbolSize: 10,
lineStyle: {
normal: {
color: "#a6c84c",
width: 1,
opacity: 0.6,
curveness: 0.2
}
},
data: [
{
fromName: "上海",
toName: "包头",
coords: [
[
121.4648,
31.2891
],
[
109.853634, 40.651412
]
],
"value": 95
}
]
}, //包头圆点
{
name: "上海 Top10",
type: "effectScatter",
coordinateSystem: "amap",
zlevel: 2,
symbolSize: 20,
rippleEffect: {
brushType: "stroke"
},
label: {
normal: {
show: true,
position: "bottom",
formatter: "{b}"
}
},
itemStyle: {
normal: {
color: "#a6c84c"
}
},
data: [
{
name: "包头",
value: [
109.853634, 40.651412,
95
]
}
]
}
];
export default {
data() {
return {
openflower: {
title: {
text: '模 拟 迁 徙',
subtext: '数据纯属虚构',
left: 'center',
textStyle: {
color: '#1935ff'
}
},
amap: {
maxPitch: 60,
pitch: 10, //45 俯仰角
viewMode: '3D',
zoom: 5.5,
expandZoomRange: true,
zooms: [3, 20],
//mapStyle: 'amap://styles/darkblue', //地图主题
center: [110, 33], //中心点
rotation: 0, //顺时针旋转角度
resizeEnable: true,
},
animation: false,
series: series_
}
}
}
}

这个主要的原因是我在index.html中引入 了

<!-- 引入高德地图扩展 -->
<!--<script src="/echarts-amap.min.js"></script>--> 这个,但是没有效果,根本加载不到。所以我确定这肯定是没有加载到,加载这个是我没有写vue的时候是完成可以实现,但是到了vue组件化开发这里来呢?这就是一个问题。
终于,我发现,在使用vue-cli的时候,不再是直接引入echarts-amap.min.js了,是有组件是可以npm下载的。这时候就要用npm来下载了,
安装
npm install echarts-extension-amap --save

引入

在index.html中引入

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>vue_visualization</title>
<script src="https://webapi.amap.com/maps?v=1.4.13&key=你的高德key"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>

如果是 webpack 打包,在main.js中使用 require 引入

//导入echarts-amp

require('echarts-extension-amap');

具体的解决方法如果看不懂,可以查看链接:https://www.npmjs.com/package/echarts-extension-amap   ,,这也是使用vue-cli整合echarts-amap的一种方法。

按照步骤一步一步来,问题解决了,地图也出来发,效果也出来了。

若有不正确,请指正, 小白的代码生涯。

vue-cli +echarts-amap集成echarts和高德地图TypeError: Cannot read property 'dataToPoint' of null解决方案的更多相关文章

  1. vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined

    vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined 借鉴了该大神的文 ...

  2. Vue组件篇——Vue3.0中使用高德地图

    VUE-CLI 3.0 中配置高德地图 在项目开发中,地图组件 1.首先,需要注册高德开放平台的账号,并在[应用管理]页面[创建新应用],为应用添加Key值 高德开放平台:https://lbs.am ...

  3. Vue 组件封装发布到npm 报错 Uncaught TypeError: Cannot read property 'toLowerCase' of undefined

    Uncaught TypeError: Cannot read property 'toLowerCase' of undefined 原因是 没有导出 export default { name:& ...

  4. vue报错 Uncaught TypeError: Cannot read property ‘children ’ of null

    Uncaught TypeError: Cannot read property ‘children ’ of null ratings未渲染完毕,就跳走goods了,取消默认跳转,即可

  5. VUE中集成echarts时 getAttribute of null错误

    错误 错误场景一: 错误提示: 在运行Vue项目时出现了上述错误,出现该错误的原因是Echarts的图形容器还未生成就对其进行了初始化所造成的,代码如下: // 基于准备好的dom,初始化echart ...

  6. 【教程】高德地图使用ECharts实现数据可视化

    关于百度地图结合ECharts实现数据可视化的资料已经很多了,毕竟是官方提供支持的,这里就不再赘述.今天我们来讲一下让高德地图与ECharts结合来实现数据可视化图表的展示. 一.ECharts 高德 ...

  7. 前端vue使用高德地图

    首先,注册Key 1.注册开发者账号,成为高德开放平台开发者 2.登陆之后,在进入「应用管理」 页面「创建新应用」 3.为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」 ...

  8. echarts js报错 Cannot read property 'getAttribute' of null

    本文将为您描述如何解决 eharts.js报错 Uncaught TypeError: Cannot read property 'getAttribute' of null 的问题 根据报错信息查找 ...

  9. 高德地图(AMap)JavaScript API的使用

    申请JSAPI的开发者key 申请地址:http://lbs.amap.com/dev/key 引入高德地图JavaScript API文件: <script type="text/j ...

随机推荐

  1. 【原创】大叔问题定位分享(2)spark任务一定几率报错java.lang.NoSuchFieldError: HIVE_MOVE_FILES_THREAD_COUNT

    最近用yarn cluster方式提交spark任务时,有时会报错,报错几率是40%,报错如下: 18/03/15 21:50:36 116 ERROR ApplicationMaster91: Us ...

  2. NIagara Workbench ( 温度控制)

    1.在原来BoilerControl的基础上建立一个 2.检查通过标签构造的报告的时候,在键盘上按下Control键并一直保持的同时按下L键 将会弹窗一个ORD窗口代表定义的参数.同时按下Contro ...

  3. SQL 概述

    SQL是用于在数据库中存储,操作和检索数据的标准语言. 本教程教你如何使用SQL:MySQL,SQL Server,MS Access,Oracle,Sybase,Informix,Postgres和 ...

  4. Java 模板模式

    定义:定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现 模板方法使得子类可以在不改变算法的结构的情况下,重新定义算法的某些步骤 类型:行为型 一次性实现一个算法的不变的部分,并将可变的行为留给 ...

  5. .net Core 目录浏览权限

    StartUp 类库中 ConfigureServices:方法中增加文件夹浏览服务. Configure: 添加中间件 1.app.UseStaticFiles() 2.//增加文件访问权限app. ...

  6. Windows上安装nodejs版本管理器nvm

    nvm最新的下载地址 Node版本管理器--nvm,可以运行在多种操作系统上.nvm for windows 是使用go语言编写的软件. 我电脑使用的是Windows操作系统,所以我要记录下在此操作系 ...

  7. .net core2.x - 关于工作单元(UnitOfWork) 模式

    概要:在搭建框架,顺手说下写下,关于unitofwork,可能你理解了,可能你还不理解,可能与不可能不是重点,重点是感兴趣就看看吧. 1.工作单元(unitofowork)是什么(后面简写uow)? ...

  8. JMeter命令模式下动态设置线程组和持续时间等动态传参

    背景: 1.当通过JMeter的图像化界面运行性能压测或者场景时候,JMeter界面很容易导致界面卡死或者无响应的情况(20个线程数就会卡死) 现象如下:

  9. [POJ2054]Color a Tree (并查集+贪心)

    POJ终于修好啦 题意 和UVA1205是同一题,在洛谷上是紫题 有一棵树,需要给其所有节点染色,每个点染色所需的时间是一样的都是11.给每个点染色,还有一个开销“当前时间×ci×ci”,cici是每 ...

  10. React 面向组件化编程 - 封装了webpack - npm run build 产生的包的 /static 引用路径问题

    React 面向组件化编程 面向对象 ----> 面向模块 ----> 面向组件 套路: 注意: 组件名必须大写开头: 只能有一个根标签: <input />虚拟DOM 元素必 ...