Mapbox使用sdf图片

首先安装工具

npm install image-sdf -g

将普通png转化成sdf格式的png

image-sdf test.png --spread 10 --downscale 1 > test_sdf.png

图层配置

{
  "id": "测试_点",
  "type": "symbol",
  "source": "testpoint",
  "source-layer": "testpoint",
  "minzoom": 14,
  "layout": {
    "visibility": "visible",
    "text-field": "{mapno}",
    "text-font": [
      "Open Sans Regular"
    ],
    "text-size": 14,
    "icon-size": 1,
    "icon-image": "test_name",
    "text-offset": [
      0,
      -2
    ]
  },
  "paint": {
    "text-color": "rgba(255, 65, 6, 1)"
  }
}

必须代码加载才可以使用

// 单张使用
map.loadImage('test_sdf.png', function (error, image) {
    if (error) throw error;
    map.addImage('test_name', image, { 'sdf': true });
})

// 如果使用雪碧图形式
map.loadImage('http://10.0.0.15:8088/sdf/sprite.png', (error, image) => {
    if (error) throw error;
    console.log(image)
    axios.get('http://10.0.0.15:8088/sdf/sprite.json').then((res)=>{
        const imageslist = res.data;
        for(let item in imageslist){
            createImageBitmap(image, imageslist[item].x, imageslist[item].y, imageslist[item].width, imageslist[item].height).then((img)=>{
                map.addImage(item, img, { sdf: true });
            })
        }
    })
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值