浙江地图echarts effectScatter配置项内容和展示

配置项如下
      var uploadedDataURL = "/asset/get/s/data-1576205687024-qrBjXoL5.json";

// 点击的地图块
var clickMod = new Set()
// 点击的地图块的名字
var clickModName = []
var flyDataPushed = false

$.get(uploadedDataURL, function(geoJson) {
    echarts.registerMap('zhejiang', geoJson);
    // myChart.setOption(option);

    var geoCoordMap = {
        '杭州市': [119.553576, 29.987459],
        '湖州市': [120.102398, 30.667198],
        '嘉兴市': [120.750865, 30.462653],
        '绍兴市': [120.582112, 29.697117],
        '宁波市': [121.549792, 29.668388],
        '舟山市': [122.106863, 30.216028],
        '衢州市': [118.37263, 29.041708],
        '金华市': [120.149506, 29.089524],
        '台州市': [121.428599, 28.861378],
        '丽水市': [119.921786, 28.251993],
        '温州市': [120.672111, 28.200575],
    }
    var data = [{
            name: '杭州市',
            value: 99
        },
        {
            name: '湖州市',
            value: 39
        },
        {
            name: '嘉兴市',
            value: 52
        },
        {
            name: '绍兴市',
            value: 29
        },
        {
            name: '宁波市',
            value: 89
        },
        {
            name: '舟山市',
            value: 52
        },
        {
            name: '衢州市',
            value: 9
        },
        {
            name: '金华市',
            value: 32
        },
        {
            name: '台州市',
            value: 99
        },
        {
            name: '丽水市',
            value: 39
        },
        {
            name: '温州市',
            value: 80
        },
    ];
    var data11 = [{
            name: '杭州市',
            value: 5
        },
        {
            name: '湖州市',
            value: 5
        },
        {
            name: '嘉兴市',
            value: 5
        },
        {
            name: '绍兴市',
            value: 5
        },
        {
            name: '宁波市',
            value: 5
        },
        {
            name: '舟山市',
            value: 5
        },
        {
            name: '衢州市',
            value: 5
        },
        {
            name: '金华市',
            value: 5
        },
        {
            name: '台州市',
            value: 5
        },
        {
            name: '丽水市',
            value: 5
        },
        {
            name: '温州市',
            value: 5
        },
    ]
    var goData = [
        [{
            name: '杭州市'
        }, {
            id: 1,
            name: '温州市',
            value: 99
        }],
        // [{name: '济南市'},{id: 1,name: '青岛市',value: 160}],
        // [{name: '济南市'},{id: 1,name: '烟台市',value:300}]
        //  [{name:'蓟县'}, {name:'宁河',value:95}],
    ];
    //值控制圆点大小
    var backData = [
        [{
            name: '温州市'
        }, {
            id: 2,
            name: '杭州市',
            value: 200
        }],
        // [{name: '青岛市'}, { id: 2,name: '济南市',value: 200}],
        //[{name: '烟台市'}, { id: 2,name: '济南市',value: 100}]
    ];
    var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z';
    // var planePath = 'path://M15.1,15.00625 L7.6,15.00625 C3.4,15.00625 0.1,11.60625 0.1,7.50625 C0.1,3.40625 3.5,0.00625 7.6,0.00625 C11.7,0.00625 15.1,3.40625 15.1,7.50625 L15.1,15.00625 Z M7.5,1.90625 C4.5,1.90625 2,4.40625 2,7.40625 C2,10.40625 4.5,12.90625 7.5,12.90625 L13,12.90625 L13,7.40625 C13.1,4.40625 10.6,1.90625 7.5,1.90625 Z M24.5,15.00625 L17,15.00625 L17,7.50625 C17,3.30625 20.4,0.00625 24.5,0.00625 C28.6,0.00625 32,3.40625 32,7.50625 C32,11.60625 28.6,15.00625 24.5,15.00625 Z M7.5,31.90625 C3.3,31.90625 0,28.50625 0,24.40625 C0,20.30625 3.4,16.90625 7.5,16.90625 L15,16.90625 L15,24.40625 C15.1,28.50625 11.7,31.90625 7.5,31.90625 Z M24.5,31.90625 C20.3,31.90625 17,28.50625 17,24.40625 L17,16.90625 L24.5,16.90625 C28.7,16.90625 32,20.30625 32,24.40625 C32,28.50625 28.6,31.90625 24.5,31.90625 Z';
    var arcAngle = function(data) {
        var j, k;
        for (var i = 0; i < data.length; i++) {
            var dataItem = data[i];
            if (dataItem[1].id == 1) {
                j = 0.2;
                return j;
            } else if (dataItem[1].id == 2) {
                k = -0.2;
                return k;
            }
        }
    }
    var convertData = function(data) {
        var res = [];
        for (var i = 0; i < data.length; i++) {
            var geoCoord = geoCoordMap[data[i].name];
            if (geoCoord) {
                res.push({
                    name: data[i].name,
                    value: geoCoord.concat(data[i].value),
                    visualMap: false
                });
            }
        }
        return res;
    };
    var convertData_line = function(data) {
        var res = [];
        for (let i = 0; i < data.length; i++) {
            var dataItem = data[i];
            var fromCoord = geoCoordMap[dataItem[0].name];
            var toCoord = geoCoordMap[dataItem[1].name];
            if (dataItem[1].id == 1) {
                if (fromCoord && toCoord) {
                    res.push([{
                        coord: fromCoord,
                    }, {
                        coord: toCoord,
                        value: dataItem[1].value //线条颜色
                    }]);
                }
            } else if (dataItem[1].id == 2) {
                if (fromCoord && toCoord) {
                    res.push([{
                        coord: fromCoord,
                    }, {
                        coord: toCoord
                    }]);
                }
            }
        }
        return res;
    };
    var series = [
        {
          // type: 'effectScatter',
          type: 'scatter',
          coordinateSystem: 'geo',
          zlevel: 9,
          //波纹效果
          // rippleEffect: {
          //   period: 2,
          //   brushType: 'stroke',
          //   scale: 3
          // },
          // label: {
          //   normal: {
          //     show: true,
          //     color: '#fff',
          //     position: 'right',
          //     formatter: '{b}'
          //   }
          // },
          //终点形象(散点图标)
          symbol: 'pin',
          // symbol: 'path://M15.1,15.00625 L7.6,15.00625 C3.4,15.00625 0.1,11.60625 0.1,7.50625 C0.1,3.40625 3.5,0.00625 7.6,0.00625 C11.7,0.00625 15.1,3.40625 15.1,7.50625 L15.1,15.00625 Z M7.5,1.90625 C4.5,1.90625 2,4.40625 2,7.40625 C2,10.40625 4.5,12.90625 7.5,12.90625 L13,12.90625 L13,7.40625 C13.1,4.40625 10.6,1.90625 7.5,1.90625 Z M24.5,15.00625 L17,15.00625 L17,7.50625 C17,3.30625 20.4,0.00625 24.5,0.00625 C28.6,0.00625 32,3.40625 32,7.50625 C32,11.60625 28.6,15.00625 24.5,15.00625 Z M7.5,31.90625 C3.3,31.90625 0,28.50625 0,24.40625 C0,20.30625 3.4,16.90625 7.5,16.90625 L15,16.90625 L15,24.40625 C15.1,28.50625 11.7,31.90625 7.5,31.90625 Z M24.5,31.90625 C20.3,31.90625 17,28.50625 17,24.40625 L17,16.90625 L24.5,16.90625 C28.7,16.90625 32,20.30625 32,24.40625 C32,28.50625 28.6,31.90625 24.5,31.90625 Z',
          //圆点大小
          symbolSize: function(val) {
            return val[2] / 2;
          },
          label: {
            normal: {
              show: true,
              // show: false,
              textStyle: {
                color: '#fff',
                fontSize: 9,
              },
              formatter: function(params) {
                return params.value[2]
              }
            }
          },
          itemStyle: {
            normal: {
              show: true,
              color: '#F62157'
            }
          },
          data: convertData(data)
        },
        {
          type: 'scatter',
          coordinateSystem: 'geo',
          zlevel: 9,
          data: convertData(data),
          symbolSize: function (val) {
            return 0.1;
          },
          label: {
            normal: {
              formatter: '{b}',
              // formatter: 'b',
              position: 'right',
              show: true
            },
            emphasis: {
              show: true
            }
          },
          itemStyle: {
            normal: {
              color: '#05C3F9'
            }
          },
        },
        {
          type: 'map',
          map: 'zhejiang',
          data: data11,
          zlevel: 3,
          // aspectScale:1,//保持原始比例
          zoom: 1.24,
          roam: false,
          label: {
            show:true,
            normal: {
              show: false,
              color:"#fff",
            },
            emphasis: {
              show: true,
              fontSize:16,
              color:"#fff"
            }
          },
          itemStyle: {
            normal: {
              areaColor: '#323c48',
              borderColor: '#111'
            },
            emphasis: {//鼠标移入高亮显颜色
              areaColor: '#f46d43'
            }
          }
        }
      ];
    // [
    //     ['1', goData],
    //     ['2', backData]
    // ].forEach(function(item, i) {
    //     series.push({
    //         name: item[0],
    //         type: 'lines',
    //         zlevel: 2,
    //         //线特效配置
    //         effect: {
    //             show: true,
    //             period: 6, // 运行时间(s)
    //             trailLength: 0, // 拖影
    //             symbol: planePath, //标记类型
    //             symbolSize: 10
    //         },
    //         lineStyle: {
    //             normal: {
    //                 width: 1,
    //                 opacity: 0.4,
    //                 // curveness: arcAngle(item[1]), //弧线角度
    //                 curveness: 0.2, //弧线角度
    //                 color: '#fff' // 迁移线颜色
    //             }
    //         },
    //         data: convertData_line(item[1])
    //     });
    // });
    option = {
        dataRange: {
            show: false,
            x: 'left',
            y: 'bottom',
            splitList: [{
                    start: 5,
                    end: 5,
                    color: 'rgba(255,255,255,0.1)'
                }, //当值为5时,区域背景
                {
                    start: 10,
                    end: 10,
                    color: '#ff6300'
                }, //当值为10时,区域背景
                {
                    start: 15,
                    end: 15,
                    color: '#ccc'
                }, //当值为15时,区域背景
            ],
        },
        backgroundColor: '#404a59', //#154e90
        //   title: {
        //   text: '迁徙',
        //   subtext: '路线',
        //   left: 'center',
        //   textStyle: {
        //     color: '#fff'
        //   },
        //   x: 'center'
        // },
        tooltip: {
            trigger: 'item',
            formatter: "{b}"
        },
        //线颜色及飞行轨道颜色
        visualMap: {
            show: false,
            min: 0,
            max: 300,
            color: ['#02e817', '#e80202', '#0233e8']
        },
        //地图相关设置
        geo: {
            map: 'zhejiang',
            //视角缩放比例
            zoom: 1.24,
            //显示文本样式
            label: {
                normal: {
                    show: false,
                    // formatter: '{b}',
                    position: 'right',
                    textStyle: {
                        color: '#fff'
                    }
                },
                emphasis: {
                    textStyle: {
                        color: '#fff'
                    }
                }
            },
            //鼠标缩放和平移
            roam: true,
            // regions: [      //对不同的区块进行着色
            //   {
            //     name: '杭州市', //区块名称
            //     itemStyle: {
            //       normal: {
            //         areaColor: '#fbd8f3'
            //       }
            //     }
            //   },{
            //     name: '温州市',
            //     itemStyle: {
            //       normal: {
            //         areaColor: '#fcc8b8'
            //       }
            //     }
            // },{
            //   name: '宁波市',
            //   itemStyle: {
            //     normal: {
            //       areaColor: '#2b97df'
            //     }
            //   }
            // }],
            itemStyle: {
                normal: {
                    // color: '#ddd',
                    borderColor: 'rgba(147, 235, 248, 1)',
                    // borderColor: 'red',
                    borderWidth: 1,
                    areaColor: {
                        type: 'radial',
                        x: 0.8,
                        y: 0.5,
                        r: 0.8,
                        colorStops: [{
                            offset: 0,
                            color: 'rgba(175,238,238, 0)', // 0% 处的颜色
                            // color: 'red',
                        }, {
                            offset: 1,
                            color: 'rgba(	47,79,79, .2)' // 100% 处的颜色
                        }],
                        globalCoord: false // 缺省为 false
                    },
                    shadowColor: 'rgba(128, 217, 248, 1)',
                    // shadowColor: 'red',
                    shadowOffsetX: -2,
                    shadowOffsetY: 2,
                    shadowBlur: 10
                },
                emphasis: {
                    areaColor: '#389BB7',
                    // areaColor: 'red',
                    borderWidth: 0
                }
            }
        },
        series: series
    };
    // let data = []
    // renderMap('zhejiang', data)
    //   console.log(option)
    // option.series.push({
    //     type: 'map',
    //     map: 'zhejiang'
    //   })
    myChart.setOption(option);

    myChart.on('click', (params) => {
        for (let i = 0; i < data11.length; i++) {
            if (params.name == data11[i].name) {
                data11[i].value = 10;
                clickMod.add(params.name)
            }
        }
        if (clickMod.size > 2) {
            for (let i = 0; i < data11.length; i++) {
                data11[i].value = 5;
                clickMod.clear()
            }
            if (flyDataPushed) {
                series.pop()
                flyDataPushed = false
            }
        }
        // console.log(this.clickMod)
        // console.log(this.clickMod)
        clickModName = []
        for (let item of clickMod.values()) {
            clickModName.push(item)
        }
        // series.push({
        //   name: item[0],
        //   type: 'lines',
        //   zlevel: 99,
        //   //线特效配置
        //   effect: {
        //     show: true,
        //     period: 6, // 运行时间(s)
        //     trailLength: 0, // 拖影
        //     symbol: planePath, //标记类型
        //     symbolSize: 10
        //   },
        //   lineStyle: {
        //     normal: {
        //       width: 1,
        //       opacity: 0.4,
        //       // curveness: arcAngle(item[1]), //弧线角度
        //       curveness: 0.2, //弧线角度
        //       color: '#fff' // 迁移线颜色
        //     }
        //   },
        //   data: convertData_line(item[1])
        // });
        var flyData = [
            []
        ]
        if (clickModName.length === 2 && !flyDataPushed) {
            flyData[0].push({
                name: clickModName[0]
            }, {
                id: 1,
                name: clickModName[1]
            })
            series.push({
                type: 'lines',
                zlevel: 99,
                //线特效配置
                effect: {
                    show: true,
                    period: 6, // 运行时间(s)
                    trailLength: 0, // 拖影
                    symbol: planePath, //标记类型
                    symbolSize: 10
                },
                lineStyle: {
                    normal: {
                        width: 1,
                        opacity: 0.4,
                        // curveness: arcAngle(item[1]), //弧线角度
                        curveness: 0.2, //弧线角度
                        color: '#fff' // 迁移线颜色
                    }
                },
                data: convertData_line(flyData)
            })
            flyDataPushed = true
        }
        console.log(flyData)
        // console.log(this.clickMod.values())
        // params.data.value = '1'
        // console.log(this.clickMod)
        // console.log(this.clickModName)
        myChart.setOption(option)
    })
})
    
截图如下