小编给大家分享一下ECharts地图怎么绘制和钻取简易接口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强> 1。地图绘制过程原理强>
给定范围边界经纬度数据,再给它个名字就构成了绘制地图的基础。也就是说,你可以绘制任意形状的地图版块。
<强> 2。地图数据生成强>
中国以及省市县等地图的基础数据可以从这里生成与下载。
http://datav.aliyun.com/tools/atlas
有了地图范围数据,在ECharts中通过registerMap给这块注册个名字,即可为后续绘制使用,以下代码以最简形式绘制一幅中国地图。
.getJSON美元(& # 39;https://geo.datav.aliyun.com/areas/bound/100000_full.json& # 39;,, function (数据),{ ,var name =,“中国地图“; ,//注册一个地图名称 ,echarts.registerMap(名称,数据),, , ,var myChart =, echarts.init (. getelementbyid(& # 39;地图# 39;)),, ,var mapOption =, {, ,,系列:[, ,{大敌; ,,,类型:& # 39;地图# 39;,,//,指明地图类型 ,,,地图:名字,,,//,指明取的名称 ,,,标签:{显示:真}, ,,,漫游:true ,//,可缩放 },才能) ,}; ,myChart.setOption (mapOption,,真的),, });
<强> 3。封装形成简易接口强>
<强> 3.1接口定义强>
从使用方式与期望结果出发来定义接口。期望给定区域名称,指定绘制位置(DOM元素)即可完成工作,同时希望能控制是否支持钻取,这就形成了最基础的接口定义。
/* *,根据名称加载地图 ,* @param elementId :, DOM 元素ID ,* @param name ,:,地图名称(仅已定义的地区名称) ,* @param drill ,:,是否支持钻取 ,*/ChinaMap.loadMap =,函数(elementId、,名,钻),{…}
<强> 3.2接口实现强>
(1)支持多地图图表绘制,定义ChartList来记录每个DOM元素对应的图表对象。
(2)支持钻取,建立省市名称的层级关系,市编码前两位为省编码。
ChinaMap.provinceCodes={& # 39; 13 & # 39;: & # 39;河北& # 39;,& # 39;14 & # 39;:& # 39;山西& # 39;,…} ChinaMap.cityCodes={“石家庄市“:“130100”,“唐山市“:“130200“,…}
(3)动态加载相应名称的数据绘制地图,形如第2节中的示例。
(4)扩展方法:取地图层级路径。如得到”中国——湖南——长沙市”的路径,且相应的名称可点击跳转。
详细实现代码请访问:https://github.com/triplestudio/helloworld/tree/master/china_map
<强> 4。达成应用效果强>
<强> 4.1可钻取的中国地图强>
使用以下代码即可在指定的元素中绘制一幅可钻取的中国地图。
ChinaMap.loadMap(& # 39;地图# 39;,,& # 39;中国# 39;,,真的),
方法ChinaMap。loadMap后会返回echarts图表对象,可以进一步进行操作。这里,使用以下代码在钻取时得到层级路径,以便达到可向上跳转的效果。
ChinaMap.loadMap(& # 39;地图# 39;,,& # 39;中国# 39;,,真的)。(& # 39;点击# 39;,,函数(参数){, ,$ (“# path") . html (ChinaMap.formatPath(& # 39;地图# 39;,,param.name)); });
为(var prov  ChinaMap.provinces拷贝){ 美元才能(“# main") .append (“& lt; div id=& # 39;“, +, ChinaMap.provinces][箴言,+,“& # 39;,类=& # 39;盒# 39;祝辞& lt;/div>“); ChinaMap.loadMap才能(ChinaMap.provinces[新城东区],箴言); }
以上是“ECharts地图怎么绘制和钻取简易接口”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!