MapboxGL饼状图绘制与展示

本文介绍如何将Echarts的饼图功能与MapboxGL结合,创建一个可以动态根据坐标渲染地图上的PieCustomLayer。通过实例演示了如何安装依赖、使用组件和配置选项,以及展示效果和关键API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前在网上看了一个MapboxGL与Echarts集合的例子,个人感觉用处不大,效果就是相当于把Echarts的一些地图demo地图换成了Mapbox,无法实现根据坐标在地图上动态渲染饼图的功能,这里我自己封装了一个工具,下面简单介绍一下用法

使用方式

  1. 下载依赖
npm install mapbox-map-tool --save
  1. 引入组件
import {PieCustomLayer} from "mapbox-map-tool";
import "mapbox-map-tool/dist/css/mapbox-map-tool.css"//建议在main.js中全局引入
  1. 代码中使用
let chartLayer=new PieCustomLayer("统计图",[{ point:[112.6,45],values:[35.6,41.2,155.9]},{ point:[114,45.5],values:[12,20,33]}])
chartLayer.addToMap(map);
  1. 效果预览
    示例

插件使用方法

  • constructor

    参数类型说明备注
    第一参数idstring图层id
    第二参数dataJsonArray数据源[{ point:[112.6,45],values:[35.6,41.2,155.9]},{ point:[114,45.5],values:[12,20,33]}]
    optionsJson配置项见下表
    • options
    参数类型说明备注
    widthint图标宽度单位px,偶数 默认60
    heightint图标宽度强制等于宽度
    chartAnchorstring锚点位置‘center’ , ‘top’ , ‘bottom’ , ‘left’ , ‘right’ , ‘top-left’ , ‘top-right’ , ‘bottom-left’ , and ‘bottom-right’ ‘center’ , ‘top’ , ‘bottom’ , ‘left’ , ‘right’ , ‘top-left’ , ‘top-right’ , ‘bottom-left’ , and ‘bottom-right’ 默认center
    showPopupboolean是否展示popup默认false
    popupAnchorstringpopup锚点‘center’,‘top’,‘bottom’,‘left’,‘right’,‘top-left’,‘top-right’,‘bottom-left’,以及‘bottom-right’ 默认left
    popupClassNamestringpopup的className
    popupHtmlTemplatestringpopup的模版示例:"
    种类1:val0</div><br/><div>种类2:{val0}</div><br/><div>种类2:val0</div><br/><div>2{val1}

    种类3:val2</div>",{val2}</div>",val2</div>"{val0}会自动替换data中values中的第一个值,以此类推
    colorsarray[string]分类颜色16进制颜色为空或比值的种类少,会自动补充随机颜色
    popupOffsetsjsonpopup偏移量默认{ ‘top’: [0, 0], ‘left’: [20, 0], ‘bottom’: [0, 0], }
    clickCallBackfunction点击标签回调
    overCallBackfunction鼠标滑过标签回调
    clickCallBackNamefunction点击标签触发地图事件名
    overCallBackNamefunction鼠标经过触发地图事件名称
  • 方法

    参数名类型说明
    addToMapmapboxgl.Map将图层添加到地图并渲染
    remove-移除当前图层
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值