OpenLayers,获取聚集点的val

OpenLayers,获取聚集点的val,openlayers,gis,Openlayers,Gis,我正在使用WMS覆盖图和许多标记绘制地图,我的问题是,当我试图计算聚集点的平均值时,我发现如何根据聚集元素的数量区分行为和标签文本,但是我不知道如何获得每个聚集点的val值来计算它们的平均值并显示在聚集点中 如果我使用.toString查看features.cluster数组,我会发现[object][object]、[object][object]等的数量不同,但我不知道如何达到这些值 这是上下文代码: context: { val: function(feature) {

我正在使用WMS覆盖图和许多标记绘制地图,我的问题是,当我试图计算聚集点的平均值时,我发现如何根据聚集元素的数量区分行为和标签文本,但是我不知道如何获得每个聚集点的val值来计算它们的平均值并显示在聚集点中

如果我使用.toString查看features.cluster数组,我会发现[object][object]、[object][object]等的数量不同,但我不知道如何达到这些值

这是上下文代码:

context: {
    val: function(feature) { 
       if(feature.attributes.count>1) {
           [here I should show the average]
       } else return feature.attributes.val; 
    },
[...]
这只是OpenLayers中的一部分。样式代码:

var pointStyle = new OpenLayers.Style({
    strokeWidth: "${strokeFunction}",
    fillColor: "${fillFunction}",
    label: "${val}",
    [...]
我认为不需要,但这是我设置val变量的点代码:

[...]
var pointFeature = new OpenLayers.Feature.Vector(point);
     pointFeature.attributes = {
         val: mks[i].m,
         align: "cm"
     };
mks[i].m是我从JSON数组中得到的值,是一个带小数的数字

我真的很感谢你能提供的任何帮助,
阿尔贝托

我在gis.stackexchange上得到了回答, 这是链接:

这就是我需要将feature.cluster[I]作为数组处理的内容:

var sumValue = 0;
for (var i=0; i<feature.cluster.length; i++) {
    sumValue += feature.cluster[i].attributes['val'];
}
var averageValue = sumValue/feature.cluster.length;
return averageValue;
多亏了鸣凤