<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. 万物皆可Cassandra:HUAWEI Tag背后的神仙数据库

    摘要:在GaussDB(for Cassandra)的支撑下,HUAWEI Tag防丢精灵表现出了非常强大的核心竞争力. 本文分享自华为云社区<万物皆可Cassandra--HUAWEI Tag ...

  2. 边缘AI方案落地问题探讨

    摘要:本文介绍了如何兑现边缘AI带来好处的承诺,并针对边缘AI落地和商业闭环发起的开源社区工作. 本文分享自华为云社区<华为云:边缘AI方案落地问题探讨及调研>,作者: 华为云边缘云创新实 ...

  3. CentOS 硬盘扩容

    首先在虚机内将硬盘空间扩大,Hyper-V 需要将检查点删除 查看物理卷和卷组,并将物理卷加入到卷组 lvextend -l +100%FREE /dev/centos/root    #将剩余空间添 ...

  4. WebApi 接口请求耗时记录

    .Net Core NLog 配置 通过日志,记录每个接口请求的耗时情况 结合  <logger name="*" level="Trace" write ...

  5. 【计算机网络】JWT token、Session

    JWT token https://www.bilibili.com/video/BV1VM4y117qr/?spm_id_from=333.999.0.0&vd_source=d112766 ...

  6. PySpark 入门:通过JDBC连接数据库(DataFrame)

    这里以关系数据库MySQL为例.首先,本博客教程(Ubuntu 20.04 安装MySQL 8.X),在Linux系统中安装好MySQL数据库.这里假设你已经成功安装了MySQL数据库.下面我们要新建 ...

  7. CodeForces -337A:Puzzles(水)

    The end of the school year is near and Ms. Manana, the teacher, will soon have to say goodbye to a y ...

  8. 为什么很多候选人投出去的简历石沉大海(面向Java方向)

    我最近在帮上海某培训学校里的毕业生做面试辅导,普遍发现很多候选人不是没能力,或者说能力没有差到没有面试机会的程度,但这些同学投出去的简历大多石沉大海,即使有回应,也大多是些外包外派公司或者小公司. 而 ...

  9. 数字孪生 3D 风电场,智慧风电之陆上风电

    前言 "十四五"期间,在传统产业数字化升级和绿色改造领域.绿色低碳城镇化和现代城市建设领域.绿色低碳消费领域,和可再生能源或电力系统建设等领域,总投资可以达到近 45 万亿,平均每 ...

  10. Gradle 出现 Could not resolve gradle

    Gradle 在进行 sync 的时候会出现 Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could n ...