<template>
<div class="managingPatientSize">
<div id="china-map"></div>
</div>
</template> <script>
import geoJson from 'echarts/map/json/china.json'
import * as echarts from 'echarts';
echarts.registerMap('china', geoJson)
export default {
name: 'ChinaMap',
data() {
return { }
},
methods: {
drawCharts() { var nameMap = 'china';
// 0表示未开发,1表示开发中
var data = [
{ name: '北京', value: 1290 },
{ name: '天津', value: 42 },
{ name: '河北', value: 1 },
{ name: '山西', value: 0 },
{ name: '内蒙古', value: 0 },
{ name: '辽宁', value: 0 },
{ name: '吉林', value: 0 },
{ name: '黑龙江', value: 0 },
{ name: '上海', value: 1129 },
{ name: '江苏', value: 399 },
{ name: '浙江', value: 102 },
{ name: '安徽', value: 1 },
{ name: '福建', value: 299 },
{ name: '江西', value: 302 },
{ name: '山东', value: 1 },
{ name: '河南', value: 1 },
{ name: '湖北', value: 998 },
{ name: '湖南', value: 480 },
{ name: '重庆', value: 1580 },
{ name: '四川', value: 372 },
{ name: '贵州', value: 69 },
{ name: '云南', value: 695 },
{ name: '西藏', value: 0 },
{ name: '陕西', value: 1 },
{ name: '甘肃', value: 56 },
{ name: '青海', value: 10 },
{ name: '宁夏', value: 1 },
{ name: '新疆', value: 0 },
{ name: '广东', value: 1988 },
{ name: '广西', value: 1860 },
{ name: '海南', value: 14 },
{ name: '香港', value: 879 },
{ name: '澳门', value: 209 },
{ name: '台湾', value: 0 },
]; var geoCoordMap = {};
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),
});
}
}
return res;
}; // 基于准备好的dom,初始化echarts实例
let myChart = echarts.init(document.getElementById("china-map")); /*获取地图数据*/
var mapFeatures = echarts.getMap(nameMap).geoJson.features;
myChart.hideLoading();
// 这里很关键
mapFeatures.forEach(function (v) {
console.log(v)
// 地区名称
var name = v.properties.name;
// 地区经纬度
geoCoordMap[name] = v.properties.cp;
}); let option = {
backgroundColor: '#0F1C3C',
title: [
{
top: '31.5%',
text: '月规模',
// subtext: '虚拟数据',
left: '105',
show: true,
textStyle: {
color: '#fff',
},
},
],
tooltip: {
position: function (p) {
//其中p为当前鼠标的位置
return [p[0] + 10, p[1] - 10];
},
extraCssText: 'max-height:40px;',
triggerOn: 'mousemove|click',
formatter: function (e, t, n) {
if (typeof e.value[2] == 'undefined') {
if (e.value == '0') {
return e.name + ":<span style='color: #999;'>未开发</span>";
} else if (e.value == '1') {
return e.name + ":<span style='color: blue;'>开发中</span>";
} else {
return e.name + ":<span style='color: red;'>" + e.value + '</span> 万';
}
}
//有数量时,显示城市和当前城市所做项目数
else {
return e.name + ":<span style='color: red;'>" + e.value[2] + '</span> 万'; //params.value[2] 取出value值中的第三个值 前两个值是经纬度,第三个值是数量
}
},
},
visualMap: [
{
left: 90,
bottom: '20%',
min: 0,
max: 1000,
show: true,
// text: ['High', 'Low'],
realtime: false,
calculable: false,
seriesIndex: [0],
orient: 'horizontal',
textStyle: {
color: 'rgba(175,224,254,.9)',
},
pieces: [
{
gt: 3,
label: '已开发',
color: '#134B1C',
},
{
gte: 1,
lte: 1,
label: '开发中',
color: '#4A4003',
},
{
gte: 0,
lte: 0,
label: '未开发',
color: '#00336C',
},
],
},
{
left: 90,
// top: this.chinaBox / 2 + 52,
top: '30%',
min: 0,
max: 1000,
seriesIndex: 1,
show: true,
splitNumber: 4,
padding: [50, 20, 20, 20],
backgroundColor: 'rgba(255,255,255,.2)',
textStyle: {
color: 'rgba(175,224,254,.9)',
},
inRange: {
// color: ['#8B77FF', '#4FCCFF', '#6FE621', '#FFC760', '#FB497C'].reverse(),
symbolSize: [8, 15],
symbol: 'circle',
},
formatter: function (value) {
return '';
},
pieces: [
{
gt: 1000,
label: '1000万以上',
color: '#fff',
},
{
gte: 500,
lte: 1000,
label: '500-1000万',
color: '#FFC760',
},
{
gte: 300,
lt: 500,
label: '300-500万',
color: '#6FE621',
},
{
gt: 100,
lt: 300,
label: '100-300万',
color: '#4FCCFF',
},
{
lt: 100,
gt: 3,
label: '100万以下',
color: '#DAB2FF',
},
],
},
],
geo: {
// 背景地图
map: nameMap,
zoom: 1.2,
show: false, // 是否显示背景地图
roam: true,
label: {
normal: {
show: false,
},
emphasis: {
show: false,
},
},
// 默认背景
itemStyle: {
normal: {
areaColor: '#032954',
borderColor: '#0C6075',
}
}
},
series: [
{
// 地图块的相关信息
type: 'map',
map: nameMap,
zoom: 1.2,
label: {
normal: {
show: true,
textStyle: {
fontSize: 12,
fontWeight: 400,
color: 'rgb(255,255,255)',
},
},
// 文字hover颜色
emphasis: {
show: true, //是否在高亮状态下显示标签。
textStyle: {
color: '#ff0',
}, //高亮状态下的标签文本样式。
},
},
itemStyle: {
// 地图边框设置
normal: {
// areaColor: '#272235',
// borderColor: 'rgba(175,224,254,.4)',
// fontWeightL: 700,
// borderWidth: 0.5,
color: function (params) {
return '#00ff00'
}
},
// hover效果
emphasis: {
areaColor: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: '#00499B', // 0% 处的颜色
},
{
offset: 1,
color: '#00499B', // 100% 处的颜色
},
],
globalCoord: false, // 缺省为 false
},
}
},
// 点击效果
select: {
itemStyle: {
areaColor: '#ccb32c',
},
},
data: data,
},
{
// 水波纹
type: 'effectScatter',
coordinateSystem: 'geo',
data: convertData(
data
.sort(function (a, b) {
return b.value - a.value;
})
.slice(0, 50)
),
// symbolSize: function (val) {
// return val[2] / 6;
// },
showEffectOn: 'render',
// symbolOffset: [-10, 10], //偏移
rippleEffect: {
period: 10, // 动画时间,值越小速度越快
scale: 4, // 波纹圆环最大限制,值越大波纹越大
brushType: 'fill', // 波纹绘制方式 stroke, fill
},
zlevel: 2,
},
],
};
myChart.setOption(option, true);
}, },
mounted() {
this.drawCharts();
}
}
</script> <style scoped>
#china-map {
width: 1000px;
height: 600px;
}
</style>

echarts显示地图的更多相关文章

  1. 基于ECharts 的地图例子

      最近的一个项目要用到显示地图,本来用jq做了一个,但由于客户不满意(确实自己弄的样式效果都不是太理想),于是就上网搜了搜,最后决定基于百度的ECharts来弄地图 本来自己js基础不是很扎实,EC ...

  2. 数据视化Echarts+百度地图API实现市县区级下钻

    开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...

  3. echarts的地图省份颜色自适应变化

    在使用echarts的地图的时候省份的颜色可能随着数据的多少显示不同的颜色,但是当后台返回的数据的变化较大时可能就不好控制了,所以需要设置根据后台的数据进行自适应 将后台返回的数据中的value放入一 ...

  4. 几个不错的echarts +百度地图 案例

    https://echarts.baidu.com/examples/editor.html?c=map-polygon https://echarts.baidu.com/examples/edit ...

  5. ECharts 实现地图散点图上(转载)

    转载来源:https://efe.baidu.com/blog/echarts-map-tutorial/ ECharts 实现地图散点图(上)  小红  2016-04-28  ECharts, 教 ...

  6. react项目结合echarts,百度地图实现热力图

    一.最近在一个react项目(antd pro)中需要展示一个热力地图.需求是: 1.热力地图可缩放: 2.鼠标点击可以展示该点地理坐标,及热力值. 3.初始化时候自适应展示所有的热力点. 4.展示热 ...

  7. echarts map 地图在react项目中的使用

    需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...

  8. echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新

    目录 ECharts Map地图的显示 GeoJSON数据文件获取 在ECharts中绘制浙江省的数据 ECharts Map地图的显示 ECharts支持地理坐标显示,专门提供了一个geo组件,在s ...

  9. Google Maps API显示地图的小示例

    来源:http://www.ido321.com/1089.html 效果(新版Firefox中测试): 代码: <!DOCTYPE> <html> <head> ...

  10. Swift - 使用MapKit显示地图,并在地图上做标记

    通过使用MapKit可以将地图嵌入到视图中,MapKit框架除了可以显示地图,还支持在地图上做标记. 1,通过mapType属性,可以设置地图的显示类型 MKMapType.Standard :标准地 ...

随机推荐

  1. IAST 初探:博采众长、精准定位、DevOps友好

    之前的文章中,我们了解了 SAST 和 DAST,本文将介绍将两者优势相结合的安全测试技术--IAST. ✦ ✦ 交互式应用安全测试(IAST)是一个自动识别和诊断应用程序和 API 漏洞的技术,它结 ...

  2. 查看Windows系统 重启时间

    查看Windows系统 重启时间 CMD 命令 systeminfo 事件查看器 筛选:1074 6005: 开机时间.6006:关机时间

  3. Sublime Text 16进制显示

    大文件推荐使用 UltraEdit 工具 Sublime Text 16进制显示(可以直接显示不同数据类型转换后的结果,不用在线工具,转二进制了) 安装 HexViewer 插件 1. Ctrl + ...

  4. SpringBoot 拦截器 统一日志 记录用户请求返回日志

    你请求我接口,传了什么参数,我返回了什么值给你,全部记下来.防止扯皮 需求:记录每次用户请求Controller的Body参数, 思路:在每个Controller 该当中记录,容易漏记,如果在拦截器里 ...

  5. python虚拟环境venv

    Python3虚拟环境是为了在开发过程中隔离项目所需的 Python 环境.虚拟环境允许我们在同一台计算机上的不同项目中使用不同的 Python 版本和软件包,而不会相互干扰 首先创建一个虚拟环境的工 ...

  6. C# 完美实现物联网 MQTT 数据通信

    前言 MQTT 协议由于其用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,具有开销低.占用带宽低.即时通讯等优点,使其在物联网.小型设备.移动应用等方面有较广泛的应用,在工业物联网中, ...

  7. ChatGPT插件权限给Plus用户放开了

    大家好,我是章北海mlpy ChatGPT插件权限给Plus用户放开了 我稍微测试了俩,感觉还行,后续我会对一些热门插件深入测测,敬请期待. 官方对插件的介绍如下: 1.插件由非由OpenAI控制的第 ...

  8. 开发 | Git 提交规范

    以下是 \(commit\) 提交规范,主要是在提交代码时标识本次提交的属性 feat: 新功能(feature) fix: 修补bug docs: 文档(documentation) style: ...

  9. AtCoder Beginner Contest 203 (A~D,玄学二分场)

    补题链接:Here A - Chinchirorin 给出 \(a,b,c\) 三个正整数,现请打印各种情况的答案: \(a=b=c\) ,输出一个即可 \(a = b\ and\ a != c\) ...

  10. springboot线程池的使用方式1

    线程池的创建方法 总共有 7 种,但总体来说可分为 2 类: 一类是通过 ThreadPoolExecutor 创建的线程池: 另一个类是通过 Executors 创建的线程池. 1. Executo ...