Time For Action – working with attribute replacement
Let's demonstrate how to use attribute replacement to change the style of features based on their attribute.
Make a copy of the previous example. We'll be changing it slightly to demonstrate attribute replacement. To do so, we'll first need to give our features some attributes that we can access. Modify the
addFeature
code in thefor
loop to add attributes as follows:for(var i=0; i<10; i++){ vector_layer.addFeatures([new OpenLayers.Feature.Vector( new OpenLayers.Geometry.Point( (Math.floor(Math.random() * 360) - 180), (Math.floor(Math.random() * 180) - 90) ), { //Attributes go here size: 5 + (Math.floor(Math.random() * 20)), label: 'F' + i, strokeWidth: (Math.floor(Math.random() * 10)) } )]); }
Now, we just need to modify the
vector_style
style object to include attribute replacements so we can use thesize
,label...