MapBox实现点图层图标分类加载

本文介绍了如何在MapBox中实现点图层的图标分类加载,针对不同类型的点数据展示不同样式。提供了两种实现思路:一是提前对数据进行分类过滤,二是通过复杂配置信息实现图标匹配。文章讨论了match匹配模式的使用,强调了数据字段与图标的一一对应关系,并给出了优化后的代码示例,使得代码更加易读。
摘要由CSDN通过智能技术生成

在mapbox中,经常会有这样的需求,就是不同类别的点数据要展示不同的样式,例如学校有学校自己的图标,商店有商店的图标,医院有医院的图标,等等。那我们就需要将这些点位展示出来,比如现在的场景是给了一个城市的POI数据,所有类型的点都糅杂在一起(学校,医院,商场等),现在要分类展示,如何做到呢?

首先有这么几种思路,第一是将数据提前做分类,通过filter方法将数据过滤成若干份,学校一份,医院一份,然后对应去渲染,代码逻辑也很简单,按照mapbox官网实例写的那样添加个图标就好。代码如下:

  //添加图标点图层
//在这里简单的对官方方法进行了封装
  addIcon(url, data, imageID, filter) {
    if (url) {
      this.map.loadImage(url, (error, image) => {
        if (error) return;
        this.map.addImage(imageID, image);
      });
    }
    let param = {
      id: "id",
      type: "symbol",
      source: {
        type: &#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WebGIS小智

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

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

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

打赏作者

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

抵扣说明:

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

余额充值