天地圖結合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/