首页 前端知识 echart中地图上effectScatter

echart中地图上effectScatter

2024-04-08 11:04:09 前端知识 前端哥 709 395 我要收藏

geoIndex:0,//使用geoIndex:0,使geo和type:map用同一个地图组件,map中的itemStyle属性失效,使用geo中的属性
visualMap中的seriesIndex:只针对series中对的数据生效,不定义会影响其它部分数据,我的项目里面用到了visualMap,echarts中visualMap的优先级是最高的。
所以我们可以增加一个属性,seriesIndex,标识让它针对series中第几个元素生效,我第二个元素是散点图,所以只让他对第一个生效即可

<template>
    <div class="hello">
        <div ref="echartCtn" style="width: 500px;height: 400px;background:pink;"></div>
    </div>
</template>

<script>
    // 测试地图中加effectScatter
    import chinaMap from "./china.json";
    const data = [
        { name: '湖北省', value: 50 },
        { name: '湖南省', value: 100 }
    ]
    export default {
        components: {},
        data() {
            return {

            };
        },
        mounted() {
            setTimeout(() => {
                this.init();
            }, 100)
        },
        methods: {
            init() {
                this.$echarts.registerMap('china', {
                    geoJSON: chinaMap
                })
                let myChart = this.$echarts.init(this.$refs.echartCtn);
                let option = {
                    visualMap: {
                        min: 0,
                        max: 100,
                        inRange: {
                            color: ['#F5DEB3', '#FF8C00'] // 颜色范围
                        },
                        seriesIndex:0,//只针对series中第一个数据对象生效
                    },
                    tooltip: {
                        show: true,
                        formatter(params) {
                            console.log(params)
                            return '19999'
                        },
                        textStyle:{
                            color:'red'
                        }
                    },
                    geo: {
                        map: 'china',
                        show: true,
                        roam: true,//是否支持缩放平移
                        scaleLimit: {
                            min: 0.8,
                            max: 4
                        },
                        label: {
                            emphasis: {
                                show: false
                            }
                        },
                        // 地图的背景色
                        itemStyle: {
                            normal: {
                                areaColor: '#091632',
                                borderColor: '#9adcfa',
                                shadowColor: '#09184F',
                                shadowBlur: 20
                            }
                        },
                    },
                    series: [
                        // 地图部分
                        {
                            name: '测试',
                            type: 'map',
                            mapType: 'china',
                            label: {
                                show: false//是否显示区域地名
                            },
                            geoIndex:0,//使用geoIndex:0,使geo和type:map用同一个地图组件,map中的itemStyle属性失效,使用geo中的属性
                            data: data,
                            itemStyle: {
                                normal: {
                                    borderWidth: 0.5 // 行政区边界线宽度
                                }
                            }
                        },
                        {
                            type: 'effectScatter',
                            coordinateSystem: 'geo',
                            //要有对应的经纬度才显示,先经度再维度
                            data: [
                                { name: '济南', value: [117, 36.67] ,warning:10},
                                { name: '哈尔滨自定义', value: [126.63, 45.75] ,warning:20}
                            ],
                            showEffectOn: 'render',
                            symbolSize(value,params){
                                console.log('设置散点大小')
                                console.log(value)
                                console.log(params)
                                // return 0
                                return params.data.warning
                            },
                            rippleEffect: {
                                scale: 4, // 波纹的最大缩放比例
                                brushType: 'stroke'
                            },
                            itemStyle: {
                                normal: {
                                    color: '#32cd32',
                                    shadowBlur: 10,
                                    shadowColor: '#333'
                                }
                            },
                            emphasis: {
                                itemStyle: {
                                    color: '#f4e925' // 高亮颜色
                                }
                            },
                            zlevel: 1
                        }
                    ]
                };
                myChart.setOption(option);
            }
        }
    };
</script>
转载请注明出处或者链接地址:https://www.qianduange.cn//article/4599.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!