gpt4 book ai didi

java - 在 GWT-Openlayers 中显示 WMS 图层

转载 作者:行者123 更新时间:2023-11-30 09:18:10 24 4
gpt4 key购买 nike

我使用 GWT-Openlayers,我想向我的 map 添加一个 WMS 图层。这是代码:

    ...
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);
...

我使用了我在这个网站上找到的示例代码: http://demo.gwt-openlayers.org/gwt_ol_showcase/GwtOpenLayersShowcase.html

任何人都可以尝试,因为 wmsUrl 指向演示站点。

问题是 WMS 图层仅在我缩小到最外层缩放级别时出现。比起我尝试放大,它又消失了。有什么想法吗?

最佳答案

我找到了一个设置:

wmsLayerParams.setDisplayOutsideMaxExtent(true);

但我不明白为什么默认值不是真实值...

关于java - 在 GWT-Openlayers 中显示 WMS 图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18630315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com