<br><br>On Wednesday, January 18, 2012, John Cole &lt;<a href="mailto:jcole@solidearth.com">jcole@solidearth.com</a>&gt; wrote:<br>&gt; Hey guys,<br>&gt;   I&#39;m trying to use a stylemap on a GeoJson datasource, and want to change the color of the symbol based off of a field in the data.<br>
&gt; My data looks like:<br>&gt; {<br>&gt; &quot;type&quot; : &quot;GeometryCollection&quot;,<br>&gt; &quot;geometries&quot; : [{<br>&gt; &quot;type&quot; : &quot;Point&quot;,<br>&gt; &quot;_id&quot; : {<br>&gt; &quot;code&quot; : &quot;123&quot;,<br>
&gt; &quot;version&quot; : 0<br>&gt; },<br>&gt; &quot;coordinates&quot; : [-86.586502, 34.731189],<br>&gt; &quot;Status&quot; : &quot;W&quot;<br>&gt; }, {<br>&gt; &quot;type&quot; : &quot;Point&quot;,<br>&gt; &quot;_id&quot; : {<br>
&gt; &quot;code&quot; : &quot;234&quot;,<br>&gt; &quot;version&quot; : 0<br>&gt; },<br>&gt; &quot;coordinates&quot; : [-86.57294326, 34.73563314],<br>&gt; &quot;Status&quot; : &quot;W&quot;<br>&gt; }, {<br>&gt; &quot;type&quot; : &quot;Point&quot;,<br>
&gt; &quot;_id&quot; : {<br>&gt; &quot;code&quot; : &quot;456&quot;,<br>&gt; &quot;version&quot; : 0<br>&gt; },<br>&gt; &quot;coordinates&quot; : [-86.45717254, 34.82754903],<br>&gt; &quot;Status&quot; : &quot;A&quot;<br>
&gt; }<br>&gt; ]<br>&gt; }<br><br>I don&#39;t think OpenLayers&#39;s GeoJSON format can produce OpenLayers.Feature.Vector objects from such a JSON doc. To produce features the GeoJSON format should receive a doc whose root object is of type FeatureCollection. <br>
<br>&gt;<br>&gt; and my style stylemap:<br>&gt;         var styleMap = new OpenLayers.StyleMap({<br>&gt;             &quot;default&quot;: new OpenLayers.Style({<br>&gt;                 fillOpacity: 0.5,<br>&gt;                 pointRadius: 5,<br>
&gt;                 fillColor: &quot;#ee9900&quot;<br>&gt;             })<br>&gt;         });<br>&gt;         <br>&gt;         var lookup = {<br>&gt;             &quot;S&quot;: {fillColor: &quot;red&quot;},<br>&gt;             &quot;A&quot;: {fillColor: &quot;green&quot;},<br>
&gt;             &quot;X&quot;: {fillColor: &quot;blue&quot;}<br>&gt;         };<br>&gt;         styleMap.addUniqueValueRules(&quot;default&quot;, &quot;Status&quot;, lookup);<br>&gt; However, when I apply the addUniqueValueRules, no features are drawn.  Tracing through the draw cycle,<br>
&gt; line 117 of Comparison.js which is getting the value of &quot;Status&quot; from the context returns undefined.  What do I need to do to get the &quot;Status&quot; into the correct context?  <br><br><br>For your rules to work &quot;Status&quot; must be a property of the &quot;properties&quot; object in each &quot;feature&quot; object of the GeoJSON doc.<br>
<br>So make sure you have correctly formed feature objects in your layer. Each feature object should a &quot;Status&quot; property in its &quot;attributes&quot; object.<br><br>Hope this helps.<br><br>-- <br>Eric Lemoine<br>
<br>Camptocamp France SAS<br>Savoie Technolac, BP 352<br>73377 Le Bourget du Lac, Cedex<br><br>Tel : 00 33 4 79 44 44 96<br>Mail : <a href="mailto:eric.lemoine@camptocamp.com">eric.lemoine@camptocamp.com</a><br><a href="http://www.camptocamp.com">http://www.camptocamp.com</a><br>
<br>