Mapbox:更新自定义图层绘制属性

时间:2018-04-30 17:26:25

标签: mapbox mapbox-gl-js

处理地图集项目。我已经创建了一个自定义图层,我正在寻找更新该图层的绘图属性。方法我试过不上班。以下是详细信息:

我创建的图层:

map.addLayer({
        id: 'points-circle',
        source: 'points',
        type: 'circle',
        paint: {
          'circle-radius': pointSize*.6,
          'circle-color': {type: 'identity', property: 'color'},
        }
      })

稍后,我尝试更新circle-radius属性,如下所示:

map.setPaintProperty('points-circle','circle-radius', pointSize*.6)

此操作失败并显示错误:Error: The layer 'points-circle' does not exist in the map's style and cannot be styled.如何更新自定义添加图层的圆半径?

1 个答案:

答案 0 :(得分:0)

您可能需要等待地图 idle 事件触发才能知道图层已准备好进行样式设置。见https://docs.mapbox.com/mapbox-gl-js/api/map/#map.event:idle

如果 map.addLayer 返回一个在图层能够设置样式时解决的承诺,那就太好了...