[OpenLayers-Users] asking the same layer to mapserver and
tilecache depending on resolution
Alessio Di Lorenzo
alessio.dilorenzo at gmail.com
Mon Feb 16 03:06:25 EST 2009
Hi Eric,
mmm... I don't understand exactly how to do it...
Can you give me an example?
Thank you a lot, alessio :)
Eric Lemoine wrote:
>
> Hi
>
> Have you tried creating two layers, one with a maxResolution option
> connected to TileCache, and the other with minResolution connected to
> MapServer?
>
> Cheers,
>
> Eric
>
> 2009/2/13, Alessio Di Lorenzo <alessio.dilorenzo at gmail.com>:
>>
>> Hi guys,
>>
>> I'm developing a little webgis and I need to use some wms layer that are
>> requested in two different ways:
>>
>> - when the map resolution is <= 305.7481130859375 I want to request the
>> cached layer (with TileCache)
>>
>> - when the resolutione is > 305.7481130859375 I want to send directly the
>> wms request to mapserver
>>
>> I did something like the following
>>
>> var res = map.getResolution();
>>
>> if (res <= 305.7481130859375) {
>>
>> //use wms request on mapserver
>> bovini = new OpenLayers.Layer.WMS( "Bovini",
>> "http://brucellosi.izs.it/cgi-bin/mapserv?",
>> {map:
>> '/usr/local/apache2/htdocs/mapfiles/brucellosi_alessio.map',
>> transparent:'true', layers: 'a_bovini', 'format':'png'},
>> {'reproject': false, singleTile:true, isBaseLayer: false} );
>> bovini.setVisibility(false);
>> map.addLayer(bovini);
>>
>>
>> bovini_q = new OpenLayers.Layer.WMS( "Bovini_q",
>> "http://brucellosi.izs.it/cgi-bin/mapserv?",
>> {map:
>> '/usr/local/apache2/htdocs/mapfiles/brucellosi_alessio.map',
>> transparent:'true', layers: 'a_bovini_q', 'format':'png'},
>> {'reproject': false, singleTile:true, isBaseLayer: false} );
>> bovini_q.setVisibility(false);
>> map.addLayer(bovini_q);
>>
>>
>> bovini_p = new OpenLayers.Layer.WMS( "Bovini_p",
>> "http://brucellosi.izs.it/cgi-bin/mapserv?",
>> {map:
>> '/usr/local/apache2/htdocs/mapfiles/brucellosi_alessio.map',
>> transparent:'true', layers: 'a_bovini_p', 'format':'png'},
>> {'reproject': false, singleTile:true, isBaseLayer: false} );
>> bovini_p.setVisibility(false);
>> map.addLayer(bovini_p);
>>
>> } else if (res > 305.7481130859375) {
>>
>> //ask for tilecache tiles on the disk
>> bovini = new OpenLayers.Layer.WMS( "Bovini", tilecache,{layers:
>> 'a_bovini'},{isBaseLayer: false} );
>> map.addLayer(bovini);
>>
>> bovini_q = new OpenLayers.Layer.WMS( "Bovini_q", tilecache,{layers:
>> 'a_bovini_q'},{isBaseLayer: false} );
>> map.addLayer(bovini_q);
>>
>> bovini_p = new OpenLayers.Layer.WMS( "Bovini_p", tilecache, {layers:
>> 'a_bovini_p'}, {isBaseLayer: false} );
>> map.addLayer(bovini_p);
>>
>> }
>>
>>
>> The problem is that this solution works only in selecting the "starting
>> source"...
>> In this case, at the beginning, tilecache is correctly selected as layer
>> source, but if I zoomIn (and my resolution becames > 305.748...) the
>> layer
>> is not
>> requested to mapserver wms but still to tilecache...
>> --
>> View this message in context:
>> http://n2.nabble.com/asking-the-same-layer-to-mapserver-and-tilecache-depending-on-resolution-tp2321107p2321107.html
>> Sent from the OpenLayers Users mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> 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
>
>
--
View this message in context: http://n2.nabble.com/asking-the-same-layer-to-mapserver-and-tilecache-depending-on-resolution-tp2321107p2333647.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list