[OpenLayers-Users] Smooth transition between two Image layers

Kenneth Skovhede, GEOGRAF A/S ks at geograf.dk
Tue Jul 15 03:37:06 EDT 2008


I was thinking of "resize". I found some code in .\Tile.js
that appeared to have this effect.

Regards, Kenneth Skovhede, GEOGRAF A/S



Jesper Larsen skrev:
> Hi Kenneth and others,
>
> Thank you for taking the time to elaborate on Christophers suggestion,
> it was really helpful (I am new to OpenLayers so I haven't really got
> an overview of the code). It seems to solve the problem. I will modify
> my own version of the OpenLayers code as a first step. When I am more
> confortable with the code and use larger parts of it I will try to
> submit a patch (otherwise I will probably just break something else).
>
> Regarding turning on "Smooth transition": My impression from the
> documentation is that there are only two transition options (for
> Layers), namely null and resize. Where is the option you mention
> described?
>
> Regards,
> Jesper
>
> 2008/7/15 Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk>:
>   
>> As I understand Christopher's answer, this is not built into OpenLayers.
>> So, you must modify the source code yourself to get this behavior.
>>
>> "Nothing you can do" then translates to, "There is no option you can switch
>> on".
>>
>> You can start up by looking into Layer\Image.js and the function "setUrl"
>> which calls Tile\Image.js "draw", which in turn invokses .\Tile.js "draw".
>>
>> You can see here that it calls "clear", which is implemented in
>> Tile\Image.js.
>> I suppose you can simply comment out line 188 in Tile\Image.js:
>>     clear: function() {
>>         if(this.imgDiv) {
>>             //this.hide();  --> Commented out
>>             if (OpenLayers.Tile.Image.useBlankTile) {
>>                 this.imgDiv.src = OpenLayers.Util.getImagesLocation() +
>> "blank.gif";
>>             }
>>         }
>>     },
>>
>> I have not tested it, so i probably has some sideeffects.
>> You may also want to turn on Smooth transition, as that prevents the
>> original
>> image from hiding before the new one is visible.
>>
>> And it is fairly annoying to maintain a modified version of OpenLayers, so
>> if at all possible,
>> you should consider adding this as a selectable option, and submitting the
>> change as a patch.
>>
>> Another option is to replace the function at runtime, but that is bound to
>> break when
>>  OpenLayers is updated.
>>
>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>
>>
>> Jesper Larsen skrev:
>>
>> Hi Christopher, realjax and others,
>>
>> As I understand your answer Christopher there is nothing I can do to
>> avoid the blinking. Is that a correct understanding? In case that is
>> not how I should understand your answer I have setup a minimal demo of
>> the problem on:
>>
>> http://jlar.webfactional.com/static/
>>
>> When you press the switch button (with most of the browsers I have
>> tested) the OpenLayers map blinks but the ordinary html img attribute
>> does not. Any help on this issue is still very welcome.
>>
>> Regards,
>> Jesper
>>
>>
>> 2008/7/11 Christopher Schmidt <crschmidt at metacarta.com>:
>>
>>
>> On Fri, Jul 11, 2008 at 12:37:05AM -0700, realjax wrote:
>>
>>
>> Jesper-5 wrote:
>>
>>
>> Is the solution to this to use Tween to create a smooth transition
>> between to Layers? I tried it but I haven't been able to understand
>> how to do it. I hope someone can help me out. What I tried is simply:
>>
>>
>>
>> OpenLayers.Tween is not likely going to suit your needs.
>> I think you need to search for an external solution that has one layer fade
>> out while the other fades in. You could (with a bit of hacking)  prolly get
>> this working in combination with a lightweight framework like Mootools for
>> example.
>>
>>
>> I don't think this will do what he wants. The proble is that OpenLayers
>> intentionally hides images before they're loaded -- look at delayDisplay
>> in OpenLayers.Util.createImage.
>>
>> In general, we have put no effort into changing this behavior.
>>
>> Regards,
>> --
>> Christopher Schmidt
>> MetaCarta
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>     
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080715/b7cada56/attachment.html


More information about the Users mailing list