问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

echart:地图上标签重叠问题解决

发布网友 发布时间:2023-02-13 08:47

我来回答

1个回答

热心网友 时间:2024-12-04 10:09

最近做大屏用echart里面的矢量地图,上面需要显示一些标签。 标签使用常规的做法,即用散点图,坐标则设为地图坐标:

出来的效果如图:

这里有个比较大的问题,标签显示会重叠在一起。我给标签设置了事件,鼠标放上去之后,对应标签会亮起,其它会变暗。然而,客户仍然希望不要出现遮挡的情况。

查了一下echart文档的scatter部分,labelLayout有两个跟标签重叠相关的参数。

hideOverlap参数会在标签重叠时隐藏一部分。这是一种解决办法,不过客户希望显示所有标签,不要隐藏。

实现的效果如图:

虽然不重叠了,但看起来有点凌乱。而且当图标超过一定数量,其实还是会重叠。所以,它只是优化,尽可能不重叠,但不能确保不重叠。

仍然使用labelLayout参数,然而返回的dx, dy 我需要自己计算。
我需要有一个方法得到标签的偏移值。

现在试想一下, 我把地图划分成固定的格子。

如此每一个散点都会在一个格子里面。当labelLayout方法执行时,从params里面可以得到这些参数

函数的主体部分是这样的:

算法的关键在于通过posMap对象记录已经分配的格子,由于在地图缩放时,param.rect坐标会发生变化,所以,要在缩放之后将posMap对象清空再通过调用实例的resize方法重新计算。

最后实现的效果,不管有多少标签,都会整齐排布,而且缩放之后会自动调整:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是Medical Literature Analysis and Retrieval System (NLM)的缩 ... 医学工作者的因特网内容简介 2002年的一篇文章英文摘要被《医学文献联机数据库》(MEDLINE)收录,是否... 医学器具medline啥意思 民国市与县的关系是怎样的,市与县分别又是什么? 历代兵制中国民国兵制 冰箱运行时有水流声怎么回事? ud牛郎眼影真假判断 爆闪/没有平替❌ 牛郎眼影真假鉴别方法 鉴别❗️衰败城市牛郎眼影真假,粉质肉眼差距 分手后我给前任点赞名片合适吗?她把我拉黑了 国泰景气优选基金的比较基准是 广西柳州市鹿寨县的车牌号以什么开头? 广西鹿寨县老县长是谁啊 柳州鹿寨县穷吗 广西柳州市鹿寨县属于几线城市 鹿寨县属于哪个市 勉县的那个茶叶是名牌,有哪些历史传说 儿子叫陈思博求女孩名 想知道这名字打几分 ...步骤泡法第一步是白鹤沐浴,也就是白开水洗杯,可是我们在家泡茶... 杨幂同款披肩是什么牌子 电子商务服务的对象有哪些?服务内容又有哪些? 万家乐热水器断电后得手动复位,危险吗? 汗微软件刚写完就自动没是怎么回事 浅析无机矿物隔热保温砂浆外墙工程施工工艺流程及操作要点? 在QQ炫舞里怎么点了f10隔了3秒和f9一起按了地点就是进不到海里 怀远县大禹智慧物流园为何暂停 大禹智芯属于哪家上市公司 华为P7有没有延时摄影 济西国家湿地公园二十字的探访目标怎么写 济西湿地归长清还是槐荫 噬菌斑(如图1所示)是在长满细菌的培养基上,由一个噬菌体侵染细菌后不... 噬菌体侵染细菌后,可在培养基上留下噬菌斑。下列关于噬菌斑的说法正确的... 溶原性菌株什么时候出现噬菌斑 双层平板法噬菌斑长在上层还是交界处 一个噬菌斑一定是由一个噬菌体侵染周围宿主形成的吗? 微生物题:在噬菌体计数时,为何在菌苔上形成的噬菌斑无法形成很大的空斑... xsmax和14plus对比 未来世界植物大战僵尸那一关可以免费购买充能柚子 怎么下载柚子乐园 柚子影视服务未正常启动 2020年1月7日发生了什么 2020年1月7日是上学还是不上学的? 2020年1月7号限行尾号 哈尔滨哪的干海带好 梦见婆婆怀二胎 公派留学可以回国吗? 出国留学生能回国探亲吗现在 8600尾插接口功能机有哪些