有个同学在完成不知道哪个迷之选修课作业的时候遇到了问题,用Echarts制作的图表在浏览器中打开之后什么都没有。
仔细看了代码没发现bug,排查了一番之后发现是她的地图文件挂了,然而我在网上并没有找到她需要的js格式广州echarts地图。
在github上某个项目中(https://github.com/carsonWuu/echartJs/tree/master/ECharts_地图 )也只找到了广州的json格式地图。
查了一下资料,发现js格式地图就是用json加工制作的。
大致可以分为标准模板部分和地图注册部分。
标准模板如下:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function (exports, echarts) {
var log = function (msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
}
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded')
return;
}
// 这里
}));
接着需要在上面注释标记的位置用echarts.registerMap函数注册一个地图,echarts.registerMap函数有两个参数要填,一个是单引号括起来的地图名,比如’guangzhou’,第二个参数就是json文件里的东西了,可以直接把整个json地图复制黏贴到这里。
html代码里的geo部分地图名要与注册地图一致。