Javascript 在JS级别访问OpenLayers WMS数据参数

Javascript 在JS级别访问OpenLayers WMS数据参数,javascript,openlayers,geoserver,wms,Javascript,Openlayers,Geoserver,Wms,我需要向向量层上的元素添加自定义标签,但是在每个代码示例中,我只看到使用{$param}语法直接传递的参数,如: var myStyle = new OpenLayers.StyleMap({ default:{ pointRadius: 40, externalGraphic:'img/pin.png', label: "{$param}" } }); 我需要做一种数据渲染

我需要向向量层上的元素添加自定义标签,但是在每个代码示例中,我只看到使用{$param}语法直接传递的参数,如:

    var myStyle = new OpenLayers.StyleMap({
        default:{
            pointRadius: 40,
            externalGraphic:'img/pin.png',
            label: "{$param}"
        }
    });
我需要做一种数据渲染器,如下所示:

    var myStyle = new OpenLayers.StyleMap({
        default:{
            pointRadius: 40,
            externalGraphic:'img/pin.png',
            label: function(){
                if (param === 1){
                    return "one";
                } else {
                    return "not one";
                }
            }()
        }
    });

因此,问题是-在这种情况下,如何将参数值放入变量中进行处理?

您需要的是一个允许绑定函数而不是模板参数的上下文:

var myContext = {
  getLabel: function(feature) {                    
    return feature.attributes.label;
  }
};
var template = {
  label: "${getLabel}"
};
var style = new OpenLayers.Style(template, {
  context : myContext
});
以下是一些资源: