mapbox添加symbol图层显示文字详情

功能场景:

之前在问答中提问图层中的文字是如何实现的,没有合适的答案,现将问题记录一下。

例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)


实现代码

提示:这里添加紫色的fill图层与黑色的边框line图层就不赘述,具体可查看上一篇文章

arr.forEach((element, index) => {
        this.map.addLayer({
          id: `${element.id}Symbol`,
          type: 'symbol',
          source: {
            type: 'geojson',
            data: {
              type: 'FeatureCollection',
              features: [
                {
                  type: 'Feature',
                  geometry: element.center,
                  properties: {
                    title: element.name
                  }
                }
              ]
            }
          },

          layout: {
            'text-field': '{title}',
            'text-font': ['Noto Sans Regular'],
            'text-size': 12
          },
          paint: {
            'text-halo-color': '#fff',
            'text-halo-width': 2
          }
        });
      });

代码解释:

layout:

  • arr为包含区域坐标的数组
  • text-field为所要取的变量的名字,需要再properties中定义
  • text-font为显示的字体,注意这个需要看glyphs: fonts/{fontstack}/{range}.pbf中有什么字体,否则不会显示文字的!

paint:

  • text-halo-color为文字周围光圈的颜色
  • text-halo-width为光圈的宽度
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值