OpenLayers复选框以删除标签

时间:2013-03-01 13:19:26

标签: javascript openlayers

我有一个问题的理解,我有一个带矢量的点和上面的标签告诉它$name

我现在需要的是一个复选框,在取消选中时隐藏标签。

toggleLabel: function(element) {
            if(element.value == "showLabel"){
                this.viewModel.label.setVisibility(false);
            }
            else {

            }
        },

然后在我的HTML中,我得到了以下复选框

<input type='checkbox' name='overlay' value='showLabel' id='showLabels' onclick='toggleLabel(this);' autocomplete='off' checked></input>

我错过了什么?

编辑:我不想删除整个图层,因为我仍然想要保留矢量(地图上的点),但只是隐藏标签集。 setvisibility在标签上不起作用吗?

1 个答案:

答案 0 :(得分:1)

我之前没有见过viewModel的东西,但是:要隐藏标签,你可以将style的标签设置为空字符串;并将其恢复为再次显示标签。

// hide label
haloLayer.styleMap.styles.default.defaultStyle.label = '';
haloLayerLayer.redraw();    

// show label
haloLayer.styleMap.styles.default.defaultStyle.label = "${" + ... + "}";
haloLayerLayer.redraw();