2

I use GWT-Openlayers and i want to add a WMS layer to my Map. Here is the code:

    ...
    MapOptions defaultMapOptions = new MapOptions();
    defaultMapOptions.setNumZoomLevels(7);

    //Create a MapWidget
    MapWidget mapWidget = new MapWidget("700px", "700px", defaultMapOptions);

    GoogleV3Options gSatelliteOptions = new GoogleV3Options();
    gSatelliteOptions.setIsBaseLayer(true);
    gSatelliteOptions.setType(GoogleV3MapType.G_SATELLITE_MAP);
    GoogleV3 gSatellite = new GoogleV3("Google Satellite", gSatelliteOptions);

    mapWidget.getMap().addLayer(gSatellite);

    //Create a WMS layer as base layer
    WMSParams wmsParams = new WMSParams();
    wmsParams.setFormat("image/png");
    wmsParams.setLayers("topp:tasmania_state_boundaries");
    wmsParams.setStyles("");
    wmsParams.setParameter("transparent", "true");

    //create a WMS layer
    WMSOptions wmsLayerParams = new WMSOptions();
    wmsLayerParams.setUntiled();
    wmsLayerParams.setTransitionEffect(TransitionEffect.RESIZE);
    wmsLayerParams.setIsBaseLayer(false);

    String wmsUrl = "http://demo.opengeo.org/geoserver/wms";

    final WMS wmsLayer = new WMS("Basic WMS", wmsUrl, wmsParams,
                                 wmsLayerParams);

    //Add the WMS to the map
    Map map = mapWidget.getMap();
    map.addLayer(wmsLayer);

    //Lets add some default controls to the map
    map.addControl(new LayerSwitcher()); //+ sign in the upperright corner to display the layer switcher
    map.addControl(new OverviewMap()); //+ sign in the lowerright to display the overviewmap
    map.addControl(new ScaleLine()); //Display the scaleline
    map.addControl(new MousePosition()); 

    //Center and zoom to a location
    LonLat lonLat = new LonLat(146.7, -41.8);
    lonLat.transform(new Projection(ProjectionCode.LONGLAT.getEpsgCode()).getProjectionCode(),
            map.getProjection()); //transform lonlat to OSM coordinate system
    map.setCenter(lonLat, 6);
    ...

I used the example codes i found on this site: http://demo.gwt-openlayers.org/gwt_ol_showcase/GwtOpenLayersShowcase.html

Anyone can try out because the wmsUrl points to the demo site.

The problem is that the WMS layer only appears when i zoom out to the outermost zoom level. Than if i try to zoom in, it disappears again. Any idea?

1

i've found a setting:

wmsLayerParams.setDisplayOutsideMaxExtent(true);

But i don't understand why isn't the true value the default...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.