¿Es posible insertar el valor de retorno de la función en el campo de la propiedad? Me gustaría que el estilo de las características del clúster depende de las temperaturas medias. Mi código:
var highRule = new OpenLayers.Rule({
filter: new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.GREATER_THAN,
property: "${val}", <---------THIS------------------------------------------>
value: 15
}),
symbolizer: {
fillColor: colors.high,
fillOpacity: 0.9,
strokeColor: colors.s_high,
strokeOpacity: 0.2,
strokeWidth: 15,
pointRadius: "${point_radius}",
label: "${val}", //°C",
labelAlign: "cm",
labelOutlineWidth: 0.5,
fontColor: "#00376d",
fontOpacity: 1,
fontSize: "10px",
fontWeight: "bold"
}
});
var style_temp = new OpenLayers.Style(null, {
rules: [singleRule, lowRule, middleRule, highRule],
context: {
val: function(feature) {
if(feature.cluster.length > 1) {
var sumValue = 0;
for (var i=0; i<feature.cluster.length;i++)
{
sumValue += parseFloat(feature.cluster[i].attributes.tzewn);
}
var averageValue = (sumValue/feature.cluster.length).toFixed(1);
return averageValue+"\n°C ";
}
else
var Value = feature.cluster[0].attributes.tzewn;
return Value+"\n°C ";
},
point_radius: function(feature) {
if(feature.cluster.length > 1)
return (feature.cluster.length/9) + 10;
else return 8;
}
}} );
Este código no funciona, por lo que la sintaxis ---> propiedad: "${val}" <--- no es correcta.