Hi -

I have been using OpenLayers 2.10 / GeoExt 1.0 / ExtJS 3.2.1 for a while now 
and decided it's time to upgrade to OpenLayers 2.11. Ever since I did, I have a 
problem with my two (mutually exclusive) overlays. Here's how I created them:

  l_layer_route = new OpenLayers.Layer.Vector
    ( "Utah State Routes"
    , { "strategies":
        [ new OpenLayers.Strategy.BBOX()
        ]
      , "protocol": new OpenLayers.Protocol.WFS(
        { "version": '&G_WFSVERSION.'
        , "srsName": 'EPSG:26912'
        , "url": '&G_WFSMAP.'
        , "featureType": '&G_WFS_ROUTE.'
        , "featureNS": '&G_GEOSERV_NAMESPACE.'
        , "geometryName": 'GEOM'
        })
      , "visibility": true
      , "styleMap": l_style_route
      , "minResolution": 0.298582153289307
      , "maxResolution": 20
      , "units": 'm'
      , "alwaysInRange": false
      }
    );

  l_layer_centerline = new OpenLayers.Layer.Vector
    ( "Local Street Centerlines"
    , { "strategies":
        [ new OpenLayers.Strategy.BBOX()
        ]
      , "protocol": new OpenLayers.Protocol.WFS(
        { "version": '&G_WFSVERSION.'
        , "srsName": 'EPSG:26912'
        , "url": '&G_WFSMAP.'
        , "featureType": '&G_WFS_CENTERLINE.'
        , "featureNS": '&G_GEOSERV_NAMESPACE.'
        , "geometryName": 'GEOM'
        })
      , "visibility": false
      , "styleMap": l_style_centerline
      , "minResolution": 0.298582153289307
      , "maxResolution": 4
      , "units": 'm'
      , "alwaysInRange": false
      }
    );

The locations in the WFS protocol entries are populated when the page is run. 
The routes layer contains fewer records "per area" than the street centerline 
layer, so it should be okay to display it at 20 m / pixel. The centerline layer 
should be displayed at 4 m / pixel. I've got the following resolutions on the 
map, which come from the first base map that I add:
[4891.96999883583, 2445.98499994708, 1222.99250010583, 611.496250052917, 
305.748124894166, 152.8740625, 76.4370312632292, 38.2185156316146, 
19.1092578131615, 9.55462890525781, 4.77731445262891, 2.38865722657904, 
1.19432861315723, 0.597164306578613, 0.298582153289307]

When I initially load the map, the resolution is 1222.99250010583 m / pixel, to 
display the whole state of Utah. The extent of the map on my screen is 
-296596.91381471, 3855627.9299551, 1199122.9138147, 4892725.5700449.

All the layers (base maps and overlays) use the EPSG:26912 projection.

So from that, as expected, neither the routes or centerline layers are loaded, 
which is great and as I expect it. As you can see in the layer definition for 
the routes layer (the first of the two), its visibility is "true" when the 
layer is created. Yesterday, more or less on accident, I used the layer 
switcher to switch from the routes layer to the centerline layer, which happens 
by executing this:
l_layer_route.setVisibility(false);
l_layer_centerline.setVisiblity(true);

This worked fine in OpenLayers 2.10, but since I switched to 2.11, what happens 
now (while displaying the whole state) is that it first loads all the data for 
the routes layer of that huge extent, which takes forever and is multiple MB of 
data and then it loads all the data for the centerline layer, which is too much 
for Firefox and I get it to crash.

So my questions:
1) Why would OpenLayers want to load the data when maxResolution on the layers 
clearly tells it that it shouldn't?
2) Why would OpenLayers want to load the data for the routes layer when I am 
setting its visibility to false but it didn't care to do that when I initially 
loaded the page (and shouldn't have)?
3) What am I doing wrong?

Because I first experienced this problem with OpenLayers 2.11, I switched back 
to 2.10 just to see if it happens there, and it didn't. I also upgraded GeoExt 
to 1.1 now and that doesn't make a difference. Also, initially, I didn't have 
the minResolution set, but only maxResolution. But I added it now, but that 
doesn't make a difference.

Please let me know if further information is needed.

Thanks for your help.
Ruben Schoenefeld, Utah Department of Transportation

_______________________________________________
Dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-dev

Reply via email to