在图层

时间:2016-10-11 12:54:59

标签: mapbox mapbox-gl mapbox-gl-js

我想在某个缩放(圆圈到符号)上更改图层的样式。当我交叉缩放5时,我认为我能做的就是删除我之前的图层,然后用旧源创建一个新图层。实际上,它给了我一个错误。

如果我创建一个具有相同数据的新源,一切正常,则错误与源有关。我不明白的是,源码仍然存在,因为我可以与它进行交互。

请找到我的fiddle,打开控制台查看:

  • 缩放(等待缩放5)
  • 来源
  • 包含的数据
  • 错误

    glMap.addSource('yacht', {
        type: 'geojson',
        data: data,
        buffer: 256
    });
    glMap.addLayer({
        "id": "yachtL",
        "type": "circle",
        "interactive": true,
        //'style': '/bright-v8.json',
        "source": "yacht",
        'layout': {},
        'paint': {
            'circle-color': '#262626',
            'circle-opacity': 0.8
        }
    }/*, "cargoL"*/);
    
        removeSpinner();
    

1 个答案:

答案 0 :(得分:2)

为新图层添加一个新ID,然后它就可以了。目前他们都拥有' yachtL'。