当前位置: 首页 > news >正文

高端网站定制百度seo搜索排名

高端网站定制,百度seo搜索排名,商务网站开发,博客主题 wordpress这篇文章中,我将逐步介绍如何使用 Vue 和 ECharts 实现一个互动式的地图展示组件,其中支持返回上一层地图、点击查看不同城市的详细信息,以及根据数据动态展示不同的统计信息。 效果图:玩转山东地图:用Echarts打造交互…

这篇文章中,我将逐步介绍如何使用 Vue 和 ECharts 实现一个互动式的地图展示组件,其中支持返回上一层地图、点击查看不同城市的详细信息,以及根据数据动态展示不同的统计信息。

效果图:玩转山东地图:用Echarts打造交互式数据可视化--好玩篇_excharts 山东地图-CSDN博客

我将分为以下几部分进行详细讲解:

  1. 项目结构与组件基本框架
  2. ECharts 的基本配置与地图初始化
  3. 动态加载不同地区地图数据
  4. 地图交互:点击事件与返回上一层功能
  5. 自定义 Tooltip 和图标
  6. 样式与布局调整

1. 项目结构与组件基本框架

首先,定义了一个 Vue 组件 MapComponent,它将负责渲染地图、处理用户交互,并展示传递给它的数据。

<template><div class="map_style"><!-- 返回按钮,只有在有历史记录时显示 --><Buttontype="primary"@click="goBack"class="go_back_index"v-if="mapStack.length > 1">返回</Button><!-- 地图容器 --><divref="chart"style="height: 100%; width: 100%"class="chart-container"></div></div>
</template>

在模板中,主要有两个部分:

  • 返回按钮: 当 mapStack 中有多个历史记录时,返回按钮会显示,用于返回上一层地图。
  • 地图容器: 这是 ECharts 渲染地图的地方,通过 ref="chart" 获取容器 DOM。

2. ECharts 的基本配置与地图初始化

mounted 生命周期钩子中,初始化了 ECharts 图表并注册了地图数据:

mounted () {this.$nextTick(() => {this.initChart();})window.addEventListener('resize', this.handleResize); // 窗口变化时调整图表大小
}

initChart 方法中,注册了山东省的地图数据并初始化了 ECharts 实例:

initChart () {// 注册山东省地图this.$echarts.registerMap('shandong', this.mapData['山东省']);// 初始化 ECharts 实例this.chart = this.$echarts.init(this.$refs.chart);// 监听地图点击事件,点击后进入下一级地图this.chart.on('click', ({ name }) => {if (this.mapData[name] && name !== this.currentCity) {// 进入下一级地图this.mapStack.push(name);this.setMapData(name);}});// 设置地图选项this.setMapData(this.currentCity);
}

3. 动态加载不同地区地图数据

地图数据在 mapData 中以城市名称为键,地图 JSON 文件为值。每个城市的数据可以通过 require 动态加载。例如:

mapData: {'山东省': require('./shangdong.json'),'青岛市': require('../json/青岛市.json'),'济南市': require('../json/济南市.json'),...
}

4. 地图交互:点击事件与返回上一层功能

当点击地图中的某个城市时,会更新地图为该城市的地图数据,并将当前城市名称加入到 mapStack 中以实现返回功能。goBack 方法会弹出当前城市并加载上一层城市的地图数据。

goBack () {if (this.mapStack.length > 1) {this.mapStack.pop(); // 弹出当前城市this.setMapData(this.mapStack[this.mapStack.length - 1]); // 设置上一城市的数据}
}

5. 自定义 Tooltip 和图标

地图上的每个城市展示的数据通过 tooltipFormatter 方法进行自定义格式化,显示每个城市的相关信息,如总用户数、平均积分、平均时长等。

tooltipFormatter (params) {const marker = `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#284979;"></span>`;const cityName = `<h3>${(params.data && params.data.name) || params.name || '暂无单位'}</h3>`;const totalUser = marker + '人数:' + (params.data && params.data.totalUser || 0) + '<br />';const score = marker + '平均积分:' + (params.data && params.data.score || 0) + '<br />';const duration = marker + '平均时长:' + (params.data && params.data.duration || 0);return cityName + totalUser + score + duration ;
}

这段代码通过判断 params.data 是否存在,动态生成显示城市信息的 HTML 格式。

6. 样式与布局调整

对于地图组件的样式,使用了 scoped 样式进行隔离,确保组件的样式不会污染到其他部分:

.map_style {position: relative;height: 100%;width: 100%;
}.go_back_index {position: absolute;top: 10px;left: 10px;z-index:999;
}.chart-container {border-radius: 10px;overflow: hidden;
}
  • map_style 类定义了组件的外部容器样式,确保其占满父容器。
  • go_back_index 类定义了返回按钮的位置,确保它在页面的左上角,且 z-index 很高,以便始终显示在其他内容之上。
  • chart-container 类定义了地图容器的外观,给它设置了圆角和隐藏溢出部分的效果。
 总结:

文章介绍了如何使用 Vue 和 ECharts 实现一个交互式地图组件。通过以下几个步骤实现了地图的基本功能:

  1. 初始化 ECharts 和地图数据;
  2. 支持返回上一层地图的功能;
  3. 根据点击的城市动态加载该城市的地图和数据;
  4. 自定义地图的 Tooltip,展示城市的相关统计信息;
  5. 对组件进行了样式和布局的优化,确保地图组件可以灵活适应不同的屏幕尺寸。

通过组件,可以灵活地展示不同城市或地区的数据,并允许用户点击进入查看更详细的统计信息。

http://www.tj-hxxt.cn/news/4410.html

相关文章:

  • 网站首页添加浮动飘窗阿里巴巴logo
  • asp做网站用什么写脚本腾讯企点是干嘛的
  • 国家知识产权局是干什么的百度seo效果怎么样
  • 网站视频不能下载怎么保存视频网络广告公司
  • 做发型的网站百度网站优化
  • 日本的设计网站有哪些方面数据分析师证书
  • 法律咨询东莞网站建设百度seo插件
  • 如何在国内做美国外贸公司网站网站优化排名优化
  • 公司网站建设需求书佛山优化网站关键词
  • 无锡做网站哪家好seo成都培训
  • 微信如何做有趣的短视频网站百度收录申请
  • 三网合一网站建设计划百度seo规则
  • 利用网站文件下载做推广肇庆网站搜索排名
  • 做影视网站如何加速seo策略
  • 汕头集团做网站方案网站搭建软件
  • 专业做网站制作重庆seo和网络推广
  • 网站开发有什么好的命题seo自然排名优化
  • 有哪些网站可以做简历关键词优化报价怎么样
  • 做直销上哪个网站好百度手机助手官网下载
  • 自己可以做招聘的网站吗百度搜索下载app
  • 广州网站建设推广报价seo优化是啥
  • cho菌主题wordpress惠州seo排名公司
  • 网站建设找d云世家网站是否含有seo收录功能
  • 广州越秀区疫情最新消息黄山搜索引擎优化
  • 上海网站建设seo网络推广哪家好
  • 代码判断网站牛排seo系统
  • 电子书网站模板外链吧怎么使用
  • 那个公司做网站广州seo优化费用
  • wordpress和wampwin10系统优化软件
  • wordpress中文版银徽seo