使用天地图结合echarts
天地图结合echarts效果糟糕,体验极差,建议直接放弃。
git@gitee.com:new-personer/echart-tmap.git
gitte代码地址
index2.js
import * as echarts from 'echarts'; require('echarts-extension-tmap') import './syless.css'; var option = { tmap: { // 天地图中心经纬度 center: this.center, // 天地图缩放 zoom: this.zoom, // 拖拽 roam: false, // 天地图自定义样式 只有 默认、black、indigo三种样式 mapStyle: 'indigo' }, series: [ { name: '投资指数', type: 'scatter', coordinateSystem: 'tmap', } ] }; // 初始化ECharts var chart = echarts.init(document.getElementById('echarts-amap')); chart.setOption(option);
index.html
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit"> <meta http-equiv="cleartype" content="on"> <meta http-equiv="x-dns-prefetch-control" content="on"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>天地图结合ECharts测试</title> <!-- 替换自己的tamp --> <script src="http://api.tianditu.gov.cn/api?v=4.0&tk=自己的key"></script> <script src="https://webapi.amap.com/maps?v=2.0&key=自己的key"></script> <style type="text/css"> * { margin: 0; padding: 0; } html, body, #echarts-amap { width: 100%; height: 100%; overflow: hidden; } </style> </head> <body> <div id="echarts-amap"></div> <script src="./dist/app.bundle.js"></script> </body> </html>
package.js
{ "name": "webpack-demo", "version": "1.0.0", "description": "", "private": true, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "clean-webpack-plugin": "^4.0.0", "css-loader": "^6.6.0", "express": "^4.17.2", "html-webpack-plugin": "^5.5.0", "style-loader": "^3.3.1", "webpack": "^5.65.0", "webpack-cli": "^4.9.1", "webpack-dev-middleware": "^5.3.1", "webpack-dev-server": "^4.7.4" }, "dependencies": { "echarts": "^5.3.0", "echarts-extension-amap": "^1.10.1", "echarts-extension-tmap": "^1.0.1", "loadsh": "^0.0.4" } }
主要文件代码,key用自己的.
webpack刚开始学,写的垃圾还望海含,下面是遇到的错误和借鉴的文档。有条件的自己搭一份吧。
echarts-extension-tmap
这个插件可以在npm中找到,但是因为里面使用require()引入,所以在cdn中找到的静态资源我一直报没有require这个方法或者未定义。
考虑到报错原因我决定采用webpack来解决require的导入问题。
然后又遇到 can't resolve T from 'T'
T是外部window下有的方法,他内部确实没有,全局定义存在。
然后配置一下package.json
module.exports = { //... externals: { T: 'T', }, };
https://webpack.docschina.org/configuration/externals/这个是webpack对于外部扩展的解释
https://blog.csdn.net/seanxwq/article/details/79240937这个是博主的解释
然后这里借鉴这位博客的高德地图使用案列
https://www.cnblogs.com/plainheart/p/how-to-use-echarts-to-display-data-visualization-on-amap.html
echarts-extension-amap里也有超详细案例和解释。
npm查询地址
https://www.npmjs.com/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)