设计稿如下:(世界地图 七大洲xx分布 )

用echart插件实现效果如下:(差别很大),需要换思路

最终前端实现效果:(svg图片 + 数据 + 标记 + 小动画)

最终使用由设计提供的svg图片(普通png,jpg也可以)实现,后台动态数据接入
- 用样式标记出位置,
:style实现 - 通过相同name,将默认位置数据与后端返回的数据 聚合在一起,
concatLocate() - 完成效果后考虑加上小动画(圆圈荡漾) 动画
ripple
<template>
<div class="worldBox">
<div class="mapBox">
<img src="@/assets/img/map.svg" alt="" width="100%" height="auto" />
<div
v-for="(item, index) in worldData"
:key="index"
class="markBox"
:style="{
left: item.left + 'px', top: item.top + 'px' }"
>
<i class="circleRipple"></i>
<i class="el-icon-location"></i>
<p>{
{ item.name }}: {
{ item.count }}</p>
</div>
</div>
<div class="barBox">
<p v-for="(item, index) in worldData" :key="index">
<span>{
{ item.count }}</span>
<span>{

本文展示了如何在Vue项目中,利用SVG图片和后台动态数据,实现世界地图上七大洲的标记效果,并添加了小动画,具体包括设计稿、ECharts插件尝试及最终的前端实现方案。
最低0.47元/天 解锁文章
593

被折叠的 条评论
为什么被折叠?



