做地图可视化。
真的头大。
特别是想画个圆形。
比如某个城市的辐射范围。
或者某个热点区域的覆盖。
很多新手朋友。
第一反应是啥?
去算经纬度。
然后一圈圈描点。
哎哟喂。
那代码写得。
跟天书似的。
而且还不圆。
歪歪扭扭的。
看着就尴尬。
其实吧。
echarts geo画圆形。
根本不用那么复杂。
咱们换个思路。
别死磕几何算法。
用散点图啊。
对,就是scatter。
把圆形当成一个点。
然后放大它。
这就完事了。
是不是很简单?
别不信。
我当年也踩过坑。
那时候不懂。
非要自己写算法。
算圆心。
算半径。
算圆周上的点。
结果呢?
地图一缩放。
圆形就变形了。
有的地方大。
有的地方小。
丑得要命。
后来才明白。
地理坐标系。
它不是平面的。
它是球面的。
你直接画圆。
在墨卡托投影下。
本来就不正。
所以。
echarts geo画圆形。
最好的办法。
是用series里的effectScatter。
或者普通的scatter。
设置symbolSize。
这就够了。
symbolSize。
就是圆的大小。
你可以设固定值。
比如50。
也可以设动态值。
比如根据数据量。
数据越大。
圆越大。
这样视觉冲击力。
一下就出来了。
而且。
代码特别干净。
就几行。
不用算经纬度。
不用搞什么多边形。
直接扔数据进去。
echarts自己渲染。
多省心啊。
当然。
如果你非要画。
那种带边框的圆。
或者半透明的圆。
那也没问题。
symbol可以自定义。
用SVG路径。
或者用图片。
但大多数时候。
你不需要那么花哨。
简单的圆。
最耐看。
也最实用。
再说说颜色。
别用那种。
荧光粉。
荧光绿。
看着眼晕。
选个低饱和度的。
比如淡蓝。
或者淡橙。
配上半透明。
rgba(255, 0, 0, 0.5)。
这样叠在一起。
也不乱。
层次感就出来了。
还有啊。
记得开tooltip。
鼠标放上去。
显示详细信息。
不然光有个圈。
谁知道是啥。
用户会懵的。
交互体验。
很重要。
别只顾着好看。
忘了好用。
其实。
echarts geo画圆形。
核心就两点。
一是用scatter。
二是调symbolSize。
别的都是锦上添花。
别把简单问题。
复杂化。
你想想。
你写代码。
是为了给老板看。
还是给自己看?
肯定是给老板看。
老板要的是效果。
不是你的算法。
所以。
怎么快怎么来。
怎么稳怎么来。
别整那些虚的。
当然。
如果你非要用。
polygon画圆。
也行。
但你要自己算点。
还要处理投影变换。
稍微有点水平。
但没必要。
除非你有特殊需求。
比如。
要画那种。
不规则的圆。
或者。
带渐变效果的圆。
那另说。
一般业务场景。
scatter足够了。
真的。
信我一次。
试试scatter。
你会发现。
新世界的大门。
打开了。
代码量少了。
bug也少了。
心情都变好了。
做前端。
不容易。
别给自己加戏。
能一行搞定的。
别写三行。
能少算一步。
就别多算一步。
这就是效率。
也是态度。
好了。
今天聊到这。
如果你还在为。
地图画圆头疼。
别纠结了。
换个方法试试。
说不定。
你就豁然开朗了。
要是还有问题。
欢迎来聊。
咱们一起探讨。
毕竟。
踩过的坑。
多了。
也就成经验了。
共勉。