使用 ECharts 创建连云港市的地图可视化图表

1. ‌初始化图表实例

csharp 复制代码
let mapChart = echarts.init(
  document.getElementById("LianYunGangMapContainer"),
  null,
  { renderer: "canvas", useDirtyRect: false }
);
  • 作用 ‌:初始化一个 ECharts 实例,绑定到 ID 为 LianYunGangMapContainer 的 DOM 元素。

  • 参数‌:

    • renderer: "canvas":强制使用 Canvas 渲染(默认可能根据数据量自动选择 Canvas/SVG)。
    • useDirtyRect: false:禁用脏矩形渲染优化(确保兼容性或解决特定渲染问题)。

2. ‌注册自定义地图数据

arduino 复制代码
echarts.registerMap("连云港市", geoJson);
  • 作用‌:将自定义的 GeoJSON 数据注册为名为"连云港市"的地图,后续可通过此名称引用。
  • 注意 ‌:geoJson 需包含有效的行政区划边界数据(如多边形的经纬度坐标)。

3. ‌配置图表选项

go 复制代码
const option = {
  geo: {
    map: "连云港市", // 使用注册的地图名称
    type: "map", // 声明为地图类型
    roam: true, // 允许鼠标缩放和拖拽地图
    label: {
      show: true, // 不显示地区名称标签
      color: "#333",
    },
    itemStyle: {
      areaColor: "white", // 区域默认填充色(白色)
      borderColor: "#2979ff", // 边框颜色(深蓝色)
      borderWidth: 2, // 边框宽度
    },
    emphasis: { // 高亮状态样式(鼠标悬停或选中时)
      itemStyle: {
        areaColor: "#a4d1ff", // 浅蓝色
      },
      label: {
        color: "#000", // 高亮时标签颜色(但 show: false 导致标签不显示)
      },
    },
  },
};
  • 关键配置‌:

    • roam: true:用户可通过鼠标拖拽移动地图,滚轮缩放。
    • label.show: true:显示地区名称标签,若需隐藏需改为 false
    • emphasis:定义鼠标交互时的样式,当前配置高亮时无变化(可调整 areaColor 以突出)。

4. ‌应用配置并渲染

ini 复制代码
mapChart.setOption(option);
  • 作用 ‌:将配置项 option 应用到图表实例,触发地图渲染。

完整示例

javascript 复制代码
  //连云港市geo数据下载 https://geo.datav.aliyun.com/areas_v3/bound/320700_full.json
  //下载完后引入
  import geoJson from "./320700_full.json";
  echarts.registerMap("连云港市", geoJson); //注册为名为"连云港市"的地图,后续可通过此名称引用
  
  let mapChart = echarts.init(
    document.getElementById("LianYunQuMapContainer"),
    null,
    { renderer: "canvas", useDirtyRect: false }, // 明确指定渲染器
  );
  
  const option = {
    geo: {
      map: "连云港市", // 与注册的名称一致
      type: "map",
      roam: true, // 允许缩放拖动
      label: {
        show: true, // 显示区域名称
        color: "#333",
      },
      itemStyle: {
        areaColor: "white", // 区域颜色
        borderColor: "#2979ff", // 边框颜色
        borderWidth: 2,
      },
      emphasis: {
        // 高亮样式
        itemStyle: {
          areaColor: "#a4d1ff",
        },
        label: {
          color: "#000",
        },
      },
    },
  };
  mapChart.setOption(option);

这段代码会创建一个可交互的连云港市地图,并允许通过数据驱动区域颜色变化。

相关推荐
夏梦春蝉43 分钟前
ES6从入门到精通:模块化
前端·ecmascript·es6
拓端研究室2 小时前
视频讲解:门槛效应模型Threshold Effect分析数字金融指数与消费结构数据
前端·算法
工一木子3 小时前
URL时间戳参数深度解析:缓存破坏与前端优化的前世今生
前端·缓存
半点寒12W4 小时前
微信小程序实现路由拦截的方法
前端
某公司摸鱼前端5 小时前
uniapp socket 封装 (可拿去直接用)
前端·javascript·websocket·uni-app
要加油哦~5 小时前
vue | 插件 | 移动文件的插件 —— move-file-cli 插件 的安装与使用
前端·javascript·vue.js
小林学习编程5 小时前
Springboot + vue + uni-app小程序web端全套家具商场
前端·vue.js·spring boot
柳鲲鹏5 小时前
WINDOWS最快布署WEB服务器:apache2
服务器·前端·windows
weixin-a153003083166 小时前
【playwright篇】教程(十七)[html元素知识]
java·前端·html
ai小鬼头7 小时前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github