The comment about it not being a good place to change properties was at the individual feature adding part of the cycle. Changing properties before features are added is perfectly fine, however, you are right that it would be even better to make the layers from the metadata and then add features. Just use an OpenLayers.Request and process the response in the callback function.
Matt Priour Kestrel Computer Consulting From: toni hernández Sent: Wednesday, July 21, 2010 1:38 AM To: Matt Priour Cc: [email protected] Subject: Re: [OpenLayers-Dev] Metadata inside a JSON Thanks Matt, I have been thinking about your solution. I could work but as you said "is not a good place/time to be changing layer properties". So I kept on thinking... and now I am wondering. Wouldn't it be better to do an ajax call to web-service, then eval the ajax response with all the information about style, about features and everything and then create each layer with the proper style, features and everything?. What do you think? 2010/7/20 Matt Priour <[email protected]> Toni, I am assuming you are using an OpenLayers.Layer.Vector layer with an HTTP protocol. You need to add a listener for 'beforefeaturesadded' event on the layer. The original JSON should be cached in the event object as well as the parsed features. You want to apply the layer configuration metadata properities to the layer in the 'beforefeaturesadded' event handler. be sure to use 'beforefeaturesadded' with the plural featureS rather than the 'beforefeatureadded' event with the singular feature The plural features event runs once before any features are added from each response, while the singular feature runs before each individual feature is added and the original JSON response will NOT be available. Also that is not a good place/time to be changing layer properties anyway. Matt Priour Kestrel Computer Consulting IN REPLY TO: ------------------------------------------------------------------------------------ Date: Tue, 20 Jul 2010 17:31:14 +0200 From: toni hern?ndez <[email protected]> Subject: [OpenLayers-Dev] Metadata inside a JSON hi all, I have a map with lots of layers. Each layer has its own style. The map application gets each layer from a web-service that some else has developed and can not be modified (I guess). I thouht I could put any kind of data in a json file, so I tried this: { "type": "FeatureCollection", "name": "Mapa de la Internacionalitat", "minScale":"whatever", "maxScale":"whatever", //and then features and its properties? "features": [ ... ] } Now I have realized that atributes "name", "minScale" and "maxScale" are not available from the layer object. I can only get the features properties. Is it possible to read first the data of the layer, then create the layer and finally add the features? How could / should I do that? Thanks in advance.
_______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
