echarts显示地图
<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显示地图的更多相关文章
- 基于ECharts 的地图例子
最近的一个项目要用到显示地图,本来用jq做了一个,但由于客户不满意(确实自己弄的样式效果都不是太理想),于是就上网搜了搜,最后决定基于百度的ECharts来弄地图 本来自己js基础不是很扎实,EC ...
- 数据视化Echarts+百度地图API实现市县区级下钻
开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...
- echarts的地图省份颜色自适应变化
在使用echarts的地图的时候省份的颜色可能随着数据的多少显示不同的颜色,但是当后台返回的数据的变化较大时可能就不好控制了,所以需要设置根据后台的数据进行自适应 将后台返回的数据中的value放入一 ...
- 几个不错的echarts +百度地图 案例
https://echarts.baidu.com/examples/editor.html?c=map-polygon https://echarts.baidu.com/examples/edit ...
- ECharts 实现地图散点图上(转载)
转载来源:https://efe.baidu.com/blog/echarts-map-tutorial/ ECharts 实现地图散点图(上) 小红 2016-04-28 ECharts, 教 ...
- react项目结合echarts,百度地图实现热力图
一.最近在一个react项目(antd pro)中需要展示一个热力地图.需求是: 1.热力地图可缩放: 2.鼠标点击可以展示该点地理坐标,及热力值. 3.初始化时候自适应展示所有的热力点. 4.展示热 ...
- echarts map 地图在react项目中的使用
需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...
- echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新
目录 ECharts Map地图的显示 GeoJSON数据文件获取 在ECharts中绘制浙江省的数据 ECharts Map地图的显示 ECharts支持地理坐标显示,专门提供了一个geo组件,在s ...
- Google Maps API显示地图的小示例
来源:http://www.ido321.com/1089.html 效果(新版Firefox中测试): 代码: <!DOCTYPE> <html> <head> ...
- Swift - 使用MapKit显示地图,并在地图上做标记
通过使用MapKit可以将地图嵌入到视图中,MapKit框架除了可以显示地图,还支持在地图上做标记. 1,通过mapType属性,可以设置地图的显示类型 MKMapType.Standard :标准地 ...
随机推荐
- 华为云云原生数据库GaussDB加速创新,企业核心数据上云信赖之选
集大会演讲.圆桌讨论.精彩活动及现场直击....一大波华为开发者大会2021干货资料来喽~~!还等什么快快来领取技术福利! 摘要:华为开发者大会(Cloud)上,华为云发布了云原生数据库GaussDB ...
- 初探语音识别ASR算法
摘要:语音转写文字ASR技术的基本概念与数学原理简介. 本文分享自华为云社区<新手语音入门(三): 语音识别ASR算法初探 | 编码与解码 | 声学模型与语音模型 | 贝叶斯公式 | 音素> ...
- 火山引擎DataLeap基于Apache Atlas自研异步消息处理框架
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 字节数据中台DataLeap的Data Catalog系统通过接收MQ中的近实时消息来同步部分元数据.Apache ...
- 使用 BLIP-2 零样本“图生文”
本文将介绍来自 Salesforce 研究院的 BLIP-2 模型,它支持一整套最先进的视觉语言模型,且已集成入 Transformers. 我们将向你展示如何将其用于图像字幕生成.有提示图像字幕生成 ...
- wscat 命令报错
使用wscat测试连接时报错: [root@kafka kafka-logs]# wscat ws://xxx.xxx.com/bs /usr/lib/node_modules/wscat/node_ ...
- WPF 实现窗体鼠标事件穿透
一.窗体变透明,需要加三个属性: AllowsTransparency="True"Background="Transparent"WindowStyle=&q ...
- 在mounted 中发生异步和同步共存的问题
https://www.cnblogs.com/ifon/p/12391923.html
- Kafka 社区KIP-405中文译文(分层存储)
原文链接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 译者:Kafka KIP- ...
- paddlespeech asr脚本demo
概述 paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别.语音合成.说话人验证.关键词识别.音频分类和语音翻译等功能. 本文介绍利用p ...
- macOX常用快捷键(结尾有彩蛋)
macOX的快捷键与windows10有所不同,了解了以后会更加提高我们的工作效率. Mac中主要有四个修饰键,分别是Command,Control,Option和Shift. 一.基本的快捷键: C ...