On Tue, Mar 31, 2009 at 5:30 PM, loic devaux <devl...@gmail.com> wrote:
>
> Hi List,
>
> I am implementing a new OpenLayers layer type ( using existing WMS layer 
> code) to display data from CartoWeb (3.5) Web-GIS with OpenLayers. Because 
> CartoWeb's architecture can be divided in two servers ( one dealing with the 
> user interface and another dealing with the GIS processes) I need to make a 
> cross browser POST request to fetch data but that's not possible with 
> Xmlhttprequest . I don't want to user OpenLayers Proxyhost capability because 
> that will increase traffic and complexity for deployment.
> There are some solutions with GET requests but the one that works fine for me 
> for POST requests is submitting a dynamically generated form inside a dynamic 
> iframe. I read Google Maps has something similar.
> Now my problem is that I rely on the onLoad event of the iframe that tells me 
> when the fetched data is available in the browser. Because this is an 
> asynchronous execution I haven't found a way to feed OpenLayers with the data 
> because there is no way (?) in javascript ( without doing ugly cpu intensive 
> javascript loops or waiting for javascript 1.7 ) to halt execution and resume 
> it once the callback function (which retrieves the data) associated to the 
> onLoad event of my iframe has been triggered.
> I managed however to make things work for the layerswitcher control but the 
> other openlayers controls are far more complex and  I try to be the less 
> intrusive as possible so I don't want to modify the source code of each 
> control (which wouldn't be a solution for custom controls anyway).
> The only solution I see would be to be able to specify the execution order of 
> the callbacks so I could execute my callback first which woud :
> - store the event context
> - stop the other callbacks from executing
> - fetch the CartoWeb data
> - recall the stopped callbacks using the stored context
>
> I don't know if this is feasible as it seems that each browser might handle 
> the execution order of browser events differently but maybe OpenLayers has 
> more control on his own events.
>
> Sorry for the necessary verbosity. I'd be glad to see alternative solutions. 
> I believe that by solving this problem we would at the same time extend 
> OpenLayers interoperability since cross domain requests inside the browser 
> might more and more belong to the future of the web even though this raises 
> legitimate security concerns.
>
> Loïc

Hi Loïc

Just a quick comment. I fail to see why you need synchronous behavior
here, e.g. why would the LayerSwitcher need to know when the data has
been received?

-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemo...@camptocamp.com
http://www.camptocamp.com
_______________________________________________
Dev mailing list
Dev@openlayers.org
http://openlayers.org/mailman/listinfo/dev

Reply via email to