[OpenLayers-Users] Highlighting changes in the KML layer

Adrian Popa adrian_gh.popa at romtelecom.ro
Wed Nov 4 07:46:53 EST 2009


Hello Roald,

I have a question about marking items as new - I guess they are not 
marked out of the box, right?
When I do the layer refresh, I just do layer.refresh({force: true}); I'm 
not sure what this does internally, but perhaps I can't count on any 
attributes I set - to be preserved.

Should I build the variable (hash) where I keep attributes as a 
different variable? Or should I keep it in a standalone object?

Also, before I do the refresh - I suspect I need to copy the attributes 
of the current objects, issue a layer refresh and then (hoping the 
refresh is synchroneous) I should go through the new list and see if I 
have new items. If there are, mark them as new (and mark other items as 
'old').

Supposing that I do that - what would I need to do to change the aspect 
(change color/make bigger) of the "new" items?

I'm afraid this will consume some memory and resources - but I guess I 
will see when it's ready...

How does my plan sound like?
Regards,
Adrian

Roald de Wit wrote:
> Hi Adrian,
>
> Adrian Popa wrote:
>> Thank you for the hint. I suppose I shouldn't expect to see a working 
>> demo of what I need :)
>> Do you know if the patches presented in ticket 1259 are already part 
>> of openlayers (since the latest version is from january last year?)
> The patches in that ticket are part of OpenLayers since version 2.6, 
> so, yes!
>
> I'm not sure if you use styling coming from the KML file or style it 
> all yourself. In your case I think you need to revert to the latter 
> case. You will need to do some magic to find out what features are new 
> and apply a different style to those items. There are few different 
> ways of doing it. One of them might be marking it's 'newness' in an 
> attribute of the new feature(s) and use a rule that checks that 
> attribute in your style map.
>
> Regards,
>
> Roald
>
>>
>> Thanks,
>>
>> helmi wrote:
>>> The idea from http://trac.openlayers.org/ticket/1259
>>> {{{
>>> You could create a selectStyle that could be passed to 
>>> Control.SelectFeature quite easily: create a style object, read the 
>>> "highlight" styles, create a FidFilter rule for every feature (or 
>>> groups of features with the same style), use the according 
>>> "highlight" style as symbolizer for the rule, and add the rule to 
>>> the style object
>>> }}}
>>>
>>> helmi03.com <http://helmi03.com>
>>>
>>> On Tue, Nov 3, 2009 at 12:59 AM, Adrian Popa 
>>> <adrian_gh.popa at romtelecom.ro <mailto:adrian_gh.popa at romtelecom.ro>> 
>>> wrote:
>>>
>>>     Hello everyone,
>>>
>>>     Sorry if this has already been discussed on the list (didn't really
>>>     check), but I would like to know if there is a solution (or at
>>>     least a
>>>     plan to implement a feature) that �"somehow" highlights
>>>     (visually) the
>>>     elements that have been loaded �through KML - in contrast to the
>>>     elements displayed previously.
>>>
>>>     I am working at a view that displays alarms on top of the map, 
>>> and if
>>>     there is a large number of alarms, one more alarm coming every 2
>>>     minutes
>>>     will not catch the attention of the operator...
>>>
>>>     I need a mechanism to somehow color/animate symbols loaded
>>>     through KML
>>>     which were not previously on the map. Symbols which dissapear 
>>> between
>>>     layer refreshes are not important to me. At the next refresh
>>>     cycle, the
>>>     highlighted symbols would no longer be highlighted (because they
>>>     already
>>>     exist on the map).
>>>
>>>     I have a way to load KMLs periodically, avoiding the cache, but I'm
>>>     missing the "highlight" mechanism.
>>>
>>>     Hope I have presented my request in an understandable manner, and
>>>     hope
>>>     there is a solution. Maybe a property on the KML layer indicating
>>>     if an
>>>     item is new or not...
>>>
>>>     Regards,
>>>     Adrian
>>>
>>>     _______________________________________________
>>>     Users mailing list
>>>     Users at openlayers.org <mailto:Users at openlayers.org>
>>>     http://openlayers.org/mailman/listinfo/users
>>>
>>>
>>
>
>


-- 
--- 
Adrian Popa
NOC Division
Network Engineer
Divizia Centrul National de Operare Retea
Departament Transport IP & Metro
Compartiment IP Core & Backbone
Phone: +40 21 400 3099





More information about the Users mailing list