[OpenLayers-Dev] Metadata inside a JSON

toni hernández tonidelacalle at gmail.com
Wed Jul 21 02:38:08 EDT 2010


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 <mpriour at kestrelcomputer.com>

>  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 <tonidelacalle at gmail.com>
> 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-dev/attachments/20100721/16c98bd9/attachment.html


More information about the Dev mailing list