舉個例子吧,就做這個了:
打開之后是這樣的:
操作:
1、准備工作:就差一個option配置項了
2、開心地將option粘過來,報錯了,沒有ROOT_PATH
3、添加ROOT_PATH(let ROOT_PATH = 'https://echarts.apache.org/examples'),還是一片空白,也不報錯
4、下載官網上的實例看看
然后發現我的頁面少了好多js文件:
5、把這些js文件拿過來時頁面報彈框提示,也有報錯
6、先解決彈框提示,這是因為百度地圖的秘鑰過期了,我使用自己的秘鑰
7、解決這個報錯:將圖片都轉正base64格式的
8、先將地圖文件所需的幾張圖片下載下來
9、進入http://www.jq22.com/demo/baseToImage201807250139/
將下載好的圖片都轉成base64格式的
10、新建utils.js文件,存放base64圖片,因為實在是太長了。然后替換掉原來的網絡路徑的圖片
11、如果不嫌麻煩,可以把各個js文件都下載到本地里
最終代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>echarts_3D_earth</title> <script src="./js/echarts.min.js"></script> <script src="./js/utils.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/world.js"></script> <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=m8wa7CqexhUGYTGmdv9xzjB5iKT6WQdl&__ec_v__=20190126"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); // let ROOT_PATH = 'https://echarts.apache.org/examples' let option = { backgroundColor: '#000', globe: { // baseTexture: ROOT_PATH + '/data-gl/asset/earth.jpg', baseTexture: earth, // heightTexture: ROOT_PATH + '/data-gl/asset/bathymetry_bw_composite_4k.jpg', heightTexture: bathymetry_bw_composite_4k, displacementScale: 0.1, shading: 'lambert', // environment: ROOT_PATH + '/data-gl/asset/starfield.jpg', environment: starfield, light: { ambient: { intensity: 0.1 }, main: { intensity: 1.5 } }, layers: [{ type: 'blend', blendTo: 'emission', // texture: ROOT_PATH + '/data-gl/asset/night.jpg' texture: night }, { type: 'overlay', // texture: ROOT_PATH + '/data-gl/asset/clouds.png', texture: clouds, shading: 'lambert', distance: 5 }] }, series: [] } myChart.setOption(option); </script> </body> </html>