使用echarts导入svg,并实现简单交互效果

https://echarts.apache.org/examples/zh/editor.html?c=geo-seatmap-flight 官方实例地址,按照官方实引用自己svg文件,没有交互效果,没有高亮效果,调试了大半天发现,是因为我生成的svg文件的元素里没有name值,你妹的。

官方代码没怎么变,修改了svg文件地址

先上代码:
index.html:





  



  

demo.svg:


 
  Layer 1
  
  
  
  
 


目前测试到的,echarts操作svg文件主要使用的是name属性,至于什么标签无所谓,

效果:


1640659015(1).jpg

我项目中准备集成的是 # Method-Draw svg编辑器,对于颜值控的人来说,盘靓条顺,功能也不错。当然,这个name值也是因为用她生成的原因,默认不带name属性

image.png

解决:
svgcanvas.js 主要在这个文件中修改
因为我项目中只用到rectimage标签,并且image不需要有交互效果,所以,偷懒只在这个文件中的,mouseDown 方法中的 rect下添加了name值,并且值为id

image.png

后期优化思路,会在创建元素之后右侧添加一个是否添加name的功能选项,并且支持自定义的name前缀

你可能感兴趣的:(使用echarts导入svg,并实现简单交互效果)