[OpenLayers-Users] Can Not Get Rule-based Stying to Work on KML
Arnd Wippermann
arnd.wippermann at web.de
Thu Dec 6 15:50:03 PST 2012
It seems, that OL doesn't parse ExtendedData in filter property
try simple attributes to see if your code works.
...
<ANNUAL>2242.269</ANNUAL>
<SPRING>2128.142</SPRING>
<SUMMER>2864.096</SUMMER>
<FALL>2002.744</FALL>
<WINTER>1974.092</WINTER>
...
This should work.
Arnd
-----Ursprüngliche Nachricht-----
Von: openlayers-users-bounces at lists.osgeo.org
[mailto:openlayers-users-bounces at lists.osgeo.org] Im Auftrag von
reinaldo at geodesign.com.br
Gesendet: Donnerstag, 6. Dezember 2012 20:34
An: openlayers-users at lists.osgeo.org; OpenGSC
Betreff: Re: [OpenLayers-Users] Can Not Get Rule-based Stying to Work on KML
OpenGSC,
Thanks for he advise, but I can't get it to work.
Please point out where I am wrong.
This my code now:
var map = new OpenLayers.Map("map");
var vector_style = new OpenLayers.Style({
fillColor: "#ffffff",
fillOpacity: 0.1,
strokeWidth: 1,
strokeColor: "#ffffff",
strokeOpacity: 4,
});
var ruleLow = new OpenLayers.Rule({
filter: new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.LESS_THAN,
property: "SUMMER",
value = 2000.0
}),
symbolizer: {
strokeColor: "#00ff00",
strokeWidth: 1,
fillColor: "#00ff00"
}
});
var ruleHigh = new OpenLayers.Rule({
filter: new OpenLayers.Filter.Comparison({
type:
OpenLayers.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
property: "SUMMER",
value = 2000.0
}),
symbolizer: {
strokeColor: "#ff0000",
strokeWidth: 1,
fillColor: "#ff0000"
}
});
vector_style.addRules([ruleLow, ruleHigh]);
var vector_style_map = new OpenLayers.StyleMap({
'default': vector_style
});
var vectorlayer = new OpenLayers.Layer.Vector("SOLAR RAD BA", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/ba_diffuse_summer.kml",
format: new OpenLayers.Format.KML({
extractStyles: false,
extractAttributes: true,
srsName: "EPSG:900913"
})
}),
styleMap: vector_style_map
});
var googleLayer = new OpenLayers.Layer.Google("Google Satellite",
{type: google.maps.MapTypeId.SATELLITE, numZoomLevels: 22}
);
map.addLayers([googleLayer, vectorlayer]); map.addControl(new
OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
------------------------------------
Reinaldo Escada Chohfi
Sócio Gerente
GeoDesign Internacional
www.geodesign.com.br (http://www.geodesign.com.br)
Tel./Fax: (12) 3153-5115
Inteligência e Tecnologia Espacial de Ponta
>---- Original Message ----
>From: OpenGSC <945070223 at qq.com>
>To: openlayers-users at lists.osgeo.org
>Sent: Qui, Dez 6, 2012, 3:49 AM
>Subject: Re: [OpenLayers-Users] Can Not Get Rule-based Stying to Work
>on KML
>
>syleMap is not equal to style,your code is not correct.
>construt a styleMap and match the defalut attribute to you style.
>and Assign it to vectory layer's styleMap attribute
>
>
>
>--
>View this message in context:
>http://osgeo-org.1560.n6.nabble.com/Can-Not-Get-Rule-based-Stying-to-Wo
>rk-on-KML-tp5021027p5021109.html Sent from the OpenLayers Users mailing
>list archive at Nabble.com.
>_______________________________________________
>Users mailing list
>Users at lists.osgeo.org
>http://lists.osgeo.org/mailman/listinfo/openlayers-users
_______________________________________________
Users mailing list
Users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/openlayers-users
More information about the Users
mailing list