023cq

使用引入百度echarts插件,需要引入阿里云的地区json

效果图

 

 具体代码如下

// 地图代码
$(function () {

    if ($("#xizang_map").length <= 0) {
        return;
    }
var xizang_map = echarts.init(document.getElementById(\'xizang_map\'));
// 引入地图数据
var uploadedDataURL = "这里引入阿里云的地图json数据";

// 标记点
var geoCoordMap = {
    \'拉萨市\': [91.091762, 30.037072],
    \'日喀则市\': [86.477854, 29.498529],
    \'昌都市\': [97.035183, 30.783725],
    \'林芝市\': [95.239298, 29.198982],
    \'山南市\': [92.266609, 28.303935],
    \'那曲市\': [89.24948, 32.783399],
    \'阿里地区\': [81.604653, 33.043726]
};


var mapData = [
    { name: \'拉萨市\', value: 219 },
    { name: \'日喀则市\', value: 339 },
    { name: \'昌都市\', value: 312 },
    { name: \'林芝市\', value: 329 },
    { name: \'山南市\', value: 89 },
    { name: \'那曲市\', value: 189 },
    { name: \'阿里地区\', value: 109 }
]

// 输出json对象数组,value里包含坐标值和随机值
function convertData(data) {
    var res = []
    for (var i = 0; i < data.length; i++) {
        var geoCoord = geoCoordMap[data[i].name]
        res.push({
            name: data[i].name,
            value: geoCoord.concat(data[i].value)
        })
    }
    return res
}

//  设置目标点, 配置线条指向
function convertToLineData(data) {
    var res = []
    for (var i = 0; i < data.length; i++) {
        // 起点
        var fromCoord = geoCoordMap[data[i].name]
        //  终点,这里设置的省会或者地级市的核心区如(河南省郑州市)
        var toCoord = [91.091762, 30.037072]
        res.push([{
            coord: fromCoord,
            value: data[i].value
        },
        {
            coord: toCoord
        }
        ])
    }
    return res
}

// 解析地图数据包
$.getJSON(uploadedDataURL, function (geoJson) {
    // 注册地图,传入数据
    echarts.registerMap(\'echarts\', geoJson)

    optionMap = {
        timeline: {
            show: false
        },

        baseOption: {

           
            // 设置地图参数和样式
            geo: {
                show: true,
                map: \'echarts\',
                roam: false,//是否可拖动
                top: 130,//距离
                left:90,
                zoom: 1,//大小
                // 地图中心点, 可调节显示的偏移量(通常情况下这里是核心区)
                center: [91.091762, 30.037072],
                label: {
                    // 地图名称直接显示  名称颜色
                    normal: {
                        show: false,
                        textStyle: {
                            color: \'#fff\'
                        }
                    },
                    // 鼠标经过地图显示地区名称
                    emphasis: {
                        show: false,
                        textStyle: {
                            color: \'#fff\',
                        }
                    }
                },

                itemStyle: {
                    normal: {
                        borderColor: \'#0c0d26\',
                        borderWidth: 1,
                        areaColor: \'#8755f9\',
                        shadowColor: \'#130122\',
                        //shadowOffsetX: -2,
                        //shadowOffsetY: 2,
                        shadowBlur: 0,

                    },
                    emphasis: {
                        // 鼠标悬浮高亮
                        areaColor: \'#cf4089\',
                        borderWidth: 0
                    }
                }
            }
        },

        options: [{
            xAxis: {
                show: false
            },
            yAxis: {
                show: false
            },
            visualMap: {
                
                show: true,
                min: 0,
                max: 560,
                //left: \'50px\',
                right: \'50\',
                bottom: \'90px\',
                realtime:true,
                text: [\'高\', \'低\'], // 文本,默认为数值文本
                calculable: true,
                seriesIndex: [1],
                orient: "vertical",
                itemHeight:100,
                textStyle: {
                    color: [\'#96adea\'],
                }, 
                inRange: {
                    color: [\'#8755f9\', \'#3a5ceb\', \'#3d38c9\', \'#3d38c9\'], //飞跃线条
                    //color: [\'#8556fc\',\'#ff3368\' ]

                }
            }
         /*, dataRange_bak: {
        
        textStyle: {
                color: \'#fff\'
        },
        min:0, 
        max:500, 
        calculable: true,
        splitNumber:0,
                // text:[\'高\',\'低\'], 
        realtime:false,
        bottom: 60,
        right: 20,
        selectedMode:false,
        realtime:false,
        itemWidth:20,
        itemHeight:120,
        //color: [\'#3399fe\',\'#8556fc\', \'#3399fe\']
        //color: [\'#de3b72\',\'#8556fc\']//线条数据颜色//(优先级2)
    }
           */ ,
 
            tooltip: {
                trigger: \'item\',
                backgroundColor: \'rgba(208, 40, 106, 0.92)\',
                borderColor: \'#FFFFCC\',
                showDelay: 0,
                hideDelay: 0,
                enterable: true,
                transitionDuration: 0,
                extraCssText: \'z-index:100\',
                formatter: function (params, ticket, callback) {
                    //根据业务自己拓展要显示的内容
                    var res = "";
                    var name = params.name;
                    var value = params.value;
                    var count = 0;
                    if (typeof (value) == "object" && value.length >= 3) {
                        count = value[2];//带经纬度的参数
                    } else {
                        count = params.value;
                    }
                
                    if (name != null&&name!="") {
                        res = "<span style=\'color:#fff;\'>" + name + "</span><br/>交易项目数量:" + count;
                    }
                    return res;
                }
            },

            series: [{
                // 坐标点参数和样式
                type: \'effectScatter\',
                coordinateSystem: \'geo\',
                data: convertData(mapData),
                symbolSize: function (val) {
                    return val[2] / 10
                },
                showEffectOn: \'render\',
                rippleEffect: {
                    brushType: \'stroke\'
                },
                label: {
                    normal: {
                        formatter: \'{b}\',
                        position: \'right\',
                        show: true
                    }
                },

                itemStyle: {
                    normal: {
                        color: \'#899ffa\',//颜色圆圈
                        shadowBlur: 10,
                        shadowColor: \'#899ffa\',
                        textStyle: {
                            color: \'#fff\'
                        }
                    },
                    emphasis: {
                        show: true,
                        textStyle: {
                            color: \'#fff\'
                        }
                    }
                }
            },
               {
                   type: \'map\',
                   map: \'xizang_map\',
                   geoIndex: 0,
                   aspectScale: 0.75, //长宽比
                   showLegendSymbol: true, // 存在legend时显示
                   label: {
                       normal: {
                           show: true
                       },
                       emphasis: {
                           show: true,
                           textStyle: {
                               color: \'#fff\'
                           }
                       }
                   },
                   roam: true,
                   //itemStyle: {
                   //    normal: {
                   //        areaColor: \'#98a9d8\',
                   //        borderColor: \'#FFFFFF\',
                   //    },
                   //    emphasis: {
                   //        areaColor: \'#98a9d8\'
                   //    }
                   //},
                   animation: true,
                   data: mapData
               },
            {
                // 线条参数和样式
                type: \'lines\',
                // 变化频率
                zlevel: 2,
                effect: {
                    show: true,
                    // 箭头指向速度,值越小速度越快
                    period: 4,
                    // 特效尾迹长度,取值0到1,值越大,尾迹越长
                    trailLength: 0.05,
                    symbol: \'arrow\',
                    // 图标大小
                    symbolSize: 5
                },
                lineStyle: {
                    normal: {
                        color: \'#899ffa\',//飞跃线条箭头颜色
                        // 尾迹线条宽度
                        width: 1,
                        // 尾迹线条透明度
                        opacity: 1,
                        // 尾迹线条曲直度
                        curveness: 0.3
                    }
                },
                data:  convertToLineData(mapData)
            }
            ]
        }]
    }

    xizang_map.setOption(optionMap)
});
});

 

分类:

技术点:

相关文章:

  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2021-04-30
  • 2021-05-17
  • 2022-01-07
  • 2021-09-06
  • 2021-12-26
猜你喜欢
  • 2021-10-12
  • 2021-11-07
  • 2021-06-18
  • 2022-12-23
  • 2021-09-22
  • 2021-05-17
  • 2021-05-26
相关资源
相似解决方案