惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tenable Blog
WordPress大学
WordPress大学
小众软件
小众软件
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
T
The Exploit Database - CXSecurity.com
Attack and Defense Labs
Attack and Defense Labs
Simon Willison's Weblog
Simon Willison's Weblog
C
CXSECURITY Database RSS Feed - CXSecurity.com
量子位
有赞技术团队
有赞技术团队
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
F
Fortinet All Blogs
S
Schneier on Security
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
Stack Overflow Blog
Stack Overflow Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Spread Privacy
Spread Privacy
F
Full Disclosure
Scott Helme
Scott Helme
GbyAI
GbyAI
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
Hacker News - Newest:
Hacker News - Newest: "LLM"
Security Latest
Security Latest
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
L
Lohrmann on Cybersecurity
PCI Perspectives
PCI Perspectives
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
C
Check Point Blog

博客园 - ^Mao^

不同缩放下适配 vxe-table 3D饼图 openlayer实现给线的附近添加点,点支持移动 element-plus el-select html导出pdf openlayers增加移动功能 适配 部分页面统计用户访问时长 openlayers基本使用(街景+标注+绘制) 使用openlayer绘制街景地图 正则表达式--取对应表达式的值 vue2实现el-table-column多级效果 echarts-雷达图 echarts--地图 散点图效果 echarts散点图区域设置 vant 的vant-uploader组件问题 Threejs学习 test
Echarts-普通地图和3D地图实现
^Mao^ · 2025-03-21 · via 博客园 - ^Mao^

效果图

实现代码

<template>
  <div class="app">
    <h1>普通地图----------------</h1>
    <div class="map-container" ref="map_ref"></div>
    <h1>3D地图----------------</h1>
    <div class="map-container" ref="map_ref_2"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts'
import 'echarts-gl'
// 1. 引入china国家的json数据
// import * as geojson from 'world-geojson'
// const china_json = geojson.forCountry('china')
import china_json from './config/china.json'
echarts.registerMap('china', china_json)

export default {
  data() {
    return {
      chart_instance: null,
      chart_instance_2: null,
    }
  },
  mounted() {
    this.initMap()
    this.initMap2()
  },
  methods: {
    initMap() {
      const chart_instance = echarts.init(this.$refs.map_ref)
      var option = {
        series: [
          {
            type: 'map',
            map: 'china',
            label: {
              show: true,
              color: '#000', //地图初始化区域字体颜色
              fontSize: 10,
              formatter: function (params) {
                if (params.name == '黑龙江省') return params.name
                return ''
              },
            },
            itemStyle: {
              // 未选择区域的样式
              normal: {
                areaColor: '#eeeeee',
                color: 'white',
                borderColor: 'gray',
                borderWidth: 1,
              },
              emphasis: {
                // 选择区域的样式
                areaColor: '#ffdf33',
              },
            },
            data: [
              {
                name: '广东省', //这个对应的是json的数据
                selected: true, // 将该区域设置为默认高亮
              },
            ],
          },
        ],
      }
      chart_instance.setOption(option)
      this.chart_instance = chart_instance
    },
    initMap2() {
      const chart_instance = echarts.init(this.$refs.map_ref_2)
      var option = {
        geo3D: {
          map: 'china', //注册地图的名字
          roam: true, //开启鼠标缩放和平移漫游。默认不开启
          itemStyle: {
            color: '#eee', // 背景

            opacity: 1, //透明度
            borderWidth: 1, // 边框宽度
            borderColor: 'gray', // 边框颜色
            fontSize: 10, //
          },
          emphasis: {
            itemStyle: {
              color: '#ffdf33',
            },
          },
          label: {
            show: true,
          },
          viewControl: {
            distance: 100,
            alpha: 45, // 上下旋转的角度
            beta: 0, // 左右旋转的角度
          },
          regions: [
            {
              name: '广东省',
              itemStyle: {
                color: '#f00',
              },
            },
          ],
        },
      }
      chart_instance.setOption(option)
      this.chart_instance_2 = chart_instance
    },
  },
}
</script>

<style lang="less" scoped>
.map-container {
  height: 600px;
  border: 1px solid;
}
</style>

参考文档