ThinkGeo.com    |     Documentation    |     Premium Support

How do I check if a feature has a style

Hi,


I am adding ValueStyle to a shapefile layer which contains all pointshapes. The ValueStyle setting PointStyles base on a column value. Not all column values are in ValueStyle, so for those features that has column value not in ValueStyle will be invisible on the map. This is the intended behavior I want. I show a popup message when user click on a feature on the map. The problem is when user click on an invisible feature, it also show a popup which is not good. Is there a way to detect whether the feature user click on is invisible or not?


Ching




 


Ching,
 
I think we can check the value of the column specified by ValueStyle to determine whether it’s applied to ValueStyle. Very similar to the below:
 


                // Draw features based on values
                ValueStyle valueStyle = new ValueStyle();
                valueStyle.ColumnName = "POP_RANK";
                valueStyle.ValueItems.Add(new ValueItem("1", PointStyles.Capital1));
                valueStyle.ValueItems.Add(new ValueItem("2", PointStyles.Capital3));
                valueStyle.ValueItems.Add(new ValueItem("3", PointStyles.City7));
                citiesLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Add(valueStyle);


                Collection<string> valuesForValueStyle = new Collection<string>{ "1", "2", "3" };
                string value = feature.ColumnValues["POP_RANK"];
                if (valuesForValueStyle.Contains(value))
                { 
                    // the feature is applied value style
                }

 
Thanks,
 
Johnny


 



Thank you, that works.



Ching,


You are welcome. Please feel free to ask any questions.


Thanks,


Johnny