Echarts地图之——如何给地图添加背景图片

上期我们已经给地图添加了一个阴影3d的效果,但是背景纯色的感觉还是不怎么好看,希望能给地图加个背景图。

一般来说给地图加背景图的情况较少,加个渐变色或者根据数据的情况给某些省份设置不一样的背景色,这样的做法是比较多的。

因为如果给整张地图加一个背景是会有错位的情况的,所以这种做法不推荐,只是提供一种如何这么做的方式,而且我们这里的这张背景图片正好颜色比较相似就把边界的横线模糊掉了,没那么明显。

在这里插入图片描述
如果我们全局设置一个背景图,它会被切分成这样子,是不能保证原图的,所以也是不推荐这样做的原因。

下面看下应该怎么设置

geo: [
    {
        map: 'china',
        aspectScale: 0.85,
        zoom: 1.2,
        top: '9%',
        left: '11%',
        roam: false,
        regions: [
            { // 隐藏南海诸岛
                name: '南海诸岛',
                itemStyle: {
                // 隐藏地图
                    normal: {
                    opacity: 0 // 为 0 时不绘制该图形
                    }
                },
                label: {
                    show: false // 隐藏文字
                }
            }
        ],
        itemStyle: {
            areaColor: {
                image: 'data:image/jpeg;base64,******这里放那张图片的base64格式*******'
            },
        },
        tooltip: {
            show: false
        },
        z: 5
    },
    .........//其他图层
],
series: [
	//原本的图层
	{
        type: 'map',
        map: 'china',
        aspectScale: 0.85,
        zoom: 1.2,
        top: '9%',
        left: '11%',
        roam: false,
        selectedMode: 'multiple',
        tooltip: {
            textStyle: {
                fontSize: 32
            },
            formatter: function(params) {
                if (params.value) {
                    return `${params.name}:${params.value}`
                } else {
                    return ''
                }
            }
        },
        label: {
            show: true,
            color: '#FFF',
            fontSize: 25,
            formatter:  function (value) {
                if (value.name == '南海诸岛') {
                    return ' '
                }
                return '{a|' + value.name + '}'
            },
        },
        itemStyle: {
            borderColor: '#4f83b3',
            borderWidth: 2,
            areaColor: {
                type: 'linear',
                x: 0,
                y: 0,
                x2: 0,
                y2: 1,
                colorStops: [{
                    offset: 0,
                    color: 'transparent' // 0% 处的颜色
                    // color: '#fff' // 0% 处的颜色
                }, {
                    offset: 1,
                    color: 'transparent' // 100% 处的颜色
                    // color: '#fff' // 100% 处的颜色
                }],
                global: true, // 缺省为 false
                // image: ''
            },
        },
        emphasis: {
        },
        select: {
        },
        zlevel: 2,
        data: []
    },
]

我们这里把背景加到了和原地图相同位置的底部(top,left,zoom等设置相同,geo的被上层覆盖),同时把原本的地图itemstyle背景设置为了transparent,这样做的目的是:保证原本的地图可以设置高亮、选中等的时候背景不会受到影响。

这时我们看到的地图就是下面的样子:
在这里插入图片描述
是不是感觉并没有上面的红线错位的感觉,只能说我的这张底图颜色深边界感不明显。如果你仔细看的话还是能看到那两条红线所在的边界的。

还是开始的那句话,不推荐这种做法,只提供思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/479006.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++关键字:const

文章目录 一、const的四大作用1.修饰 变量、数组2.修饰 函数的形参、修饰 引用 (最常用)3.修饰 指针:常量指针、指针常量 、只读指针4.修饰 类的成员函数、修饰 类的对象 一、const的四大作用 1.修饰 变量、数组 1.const修饰变量: 被const修…

MySQL 如何修改密码

** MySQL 如何修改 root 密码 ** 一、如果 mysql 未设置 root 初始密码,可直接登录,修改密码。 mysql -u root -p --- 连接权限数据库 mysql> use mysql; --- 低版本 mysql 5.x mysql> update user set passwordpassword(123) where userro…

Type-C一拖多智能快充线方案

一拖二快充线PD芯片:技术革新与充电效率的提升 在移动设备日益普及的今天,充电技术的革新显得尤为重要。一拖二快充线PD芯片作为充电技术领域的一项创新成果,不仅提高了充电效率,还满足了用户多设备同时充电的需求。本文将深入探…

Python 三维可视化库之visualpython使用详解

概要 在科学计算和数据可视化领域,交互式三维可视化是一种强大的工具,可以帮助研究人员直观地探索数据和模拟结果。Python 的 visualpython 库就是这样一款强大的工具,它提供了丰富的功能和易用的接口,可以让用户轻松创建交互式的三维场景,展示复杂的科学计算结果。本文将…

springboot项目yml文件中${}的使用

作用 项目启动时可以灵活的通过修改环境变量来替换配置中的值,如果没有传该环境变量时,就是用默认值; 格式:${自定义参数名:默认值} 代码举例,已开启应用的端口号为例: server: port: ${SERVER_PORT:9…

Python代码实现Excel表格转HTML文件

Excel工作簿是常用的表格格式,广泛用于组织、分析及展示数据。Excel文件通常需要专门的文档阅览器进行查看。如果我们想要以更兼容的方式展示Excel表格,可以将其转换为HTML格式,使其能够在各种浏览器中直接进行查看。同时,将Excel…

[VulnHub靶机渗透] Kioptrix1.2

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

腾讯在GDC 2024展示GiiNEX AI游戏引擎现已投入《元梦之星》中开发使用,展示强大AIGC能力

在近日举行的GDC 2024游戏开发者大会上,腾讯揭开了其AI Lab团队精心打造的GiiNEX AI游戏引擎的神秘面纱。这款引擎依托先进的生成式AI和决策AI技术,为游戏行业带来了革命性的变革。 相关阅读:腾讯游戏出品!腾讯研效AIGC&#xff…

今天聊聊Docker

在数字化时代,软件应用的开发和部署变得越来越复杂。环境配置、依赖管理、版本控制等问题给开发者带来了不小的挑战。而Docker作为一种容器化技术,正以其独特的优势成为解决这些问题的利器。本文将介绍Docker的基本概念、优势以及应用场景,帮…

惠普EliteBook使用VirtualBox安装ISO镜像

实验环境 虚拟机软件:Oracle VM VirtualBox 6.1.16镜像文件:CentOS-7-x86_64-Minimal-2009.iso笔记本:惠普EditBook操作系统:Window10 BIOS开启虚拟化技术 一遍笔记本都不会开启虚拟化技术的,但是在window里使用虚拟…

通过更新路书当前坐标下marker的icon来展示沿途的风景

通过更新路书当前坐标下marker的icon来展示沿途的风景 1.效果图2.[工程链接](https://download.csdn.net/download/m0_61864577/88978866)3.需修改地方: 本文演示了如何通过百度地图的路书功能,展示途经的风景。定时缩放,既有全局路径,又有当前位置和运动轨迹;可以显示当前坐标…

使用zabbix自动发现规则监控oracle分区表的分区键的合法

一、 创建从数据库查询原始数据脚本 编写脚本query_table.sh vim query_table.sh #!/bin/bash temp_outfile"/tmp/table.source" outfile"/tmp/table.txt" source /home/oracle/.bash_profilesqlplus -s zabbix/zabbix>${temp_outfile}<<EOF c…

Oracle数据库——单行函数1(字符函数和数字函数)

单行函数 操作数据对象接受参数返回一个结果只对一行进行变换每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值一、字符函数 1.大小写控制函数

使用OpenCV将图片切割成小图 及图片拼接(附python代码)

文章目录 1. 图片切割2. 图片拼接3. AcknowledgmentReference 要分割的图片如下&#xff1a; 1. 图片切割 思路也比较简单&#xff0c;代码注释比较详细&#xff0c;看代码就行。 from cv2 import cv2 import numpy as np import ospic_path .jpg # 分割的图片的位置 pic_ta…

离散型工业生产制造MES管理系统解决方案

一、核心优势 1、业务场景高适配 ①配置好程度高,可适应不同的业务场景。 ②业务功能灵活可配,可根据客户需求及时调整。 2、功能覆盖全周期 产品功能覆盖面广,能够实现从来料管理到销售出库整个产品生命周期管控。 3、触点互联降成本 能将相关的设备集成至MES中来,实现与设…

【Web】浅聊Jackson序列化getter的利用——POJONode

目录 核心速览 原理分析 EXP TemplatesImpl利用 SignedObject利用 核心速览 writeValueAsString是jackson序列化自带的入口&#xff0c;在调用该方法的过程中将会通过遍历的方法将bean对象中的所有的属性的getter方法进行调用 下面介绍如下利用链&#xff1a; BadAttrib…

《逆水寒》“公费追星”被骂上热搜,玩家为何如此抗拒剧游联动?

游戏行业最近真是风波不断。 《逆水寒》手游因为和武侠剧《莲花楼》深入联动而遭到玩家抵制&#xff0c;网易游戏测评总监被质疑“公费追星”&#xff0c;还波及到了成毅、陈都灵等多位演员。 尤其是《莲花楼》的男主角成毅&#xff0c;遭到大量《逆水寒》手游玩家的吐槽调侃…

【JS】for in可能遇到的问题

问题一&#xff1a;for in 打印属性顺序与定义顺序不一致 先来做一道题&#xff0c;请说出打印结果 const obj {a2: aaa,2: aaa,1: aaaa,a1: aaa, }for(let key in obj){console.log(key) }结果&#xff1a; 1 2 a2 a1 属性的书写顺序不一定就是对象遍历时的顺序。这涉及到…

消息队列—RabbitMQ如何保证消息可靠性?

1. 如何保证消息的可靠性&#xff1f; 先来看看我们的万年老图&#xff0c;从图上我们大概可以看出来一个消息会经历四个节点&#xff0c;只有保证这四个节点的可靠性才能保证整个系统的可靠性。 生产者发出后保证到达了MQ。MQ收到消息保证分发到了消息对应的Exchange。Exchan…

鸿蒙NXET实战:高德地图定位SDK【获取Key+获取定位数据】(二)

如何申请key 1、创建新应用 进入[控制台]&#xff0c;创建一个新应用。如果您之前已经创建过应用&#xff0c;可直接跳过这个步骤。 2、添加新Key 在创建的应用上点击"添加新Key"按钮&#xff0c;在弹出的对话框中&#xff0c;依次&#xff1a;输入应用名名称&…