【发布时间】:2015-12-25 17:39:40
【问题描述】:
首先,我最近在使用 OpenLayers 和 Cesium。
我将我的地理服务器设置在:
localhost:8200/geoserver
在我的地理服务器上,我的工作区名称为:
SrbijaAdmGranice
并以名称分层到该工作区:
SRB_AdministrativneGranice_Level2_3909
问题是什么,当我尝试使用此代码添加 WMS 层 - WebMapServiceImageryProvider 时:
var viewer = new Cesium.Viewer('cesiumContainer');
// Add a WMS imagery layer
var imageryLayers = viewer.imageryLayers;
imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
url : 'http://localhost:8200/geoserver/wms',
layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
parameters : {
transparent : true,
format : 'image/png'
}
}));
我得到了很好的结果 - 图片如下: Result Picture
有什么问题。
问题是,我在我的 Geoserver 中访问了 Tile Layers,并在适当的网格集中找到了 SEED 切片。 当转到 Tile Layers 时,我会得到带有可能网格集的图层。 当我去预览时,我得到这个链接:
http://localhost:8200/geoserver/gwc/demo/SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909?gridSet=EPSG:4326&format=image/png
结果如下: Result Picture
问题是,当我想添加 WebMapTileServiceImageryProvider 时,我在控制台中得到了无法获取 Tile 的结果。
这是我使用的代码:
imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
url : 'http://localhost:8200/geoserver/gwc/service/wms?',
layer : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : '4326', // is this a GridSet Atribute?
maximumLevel: 19,
credit : new Cesium.Credit('U. S. Geological Survey')
})
);
我的问题是 - 什么是正确的 URL 值? 以及其他参数。
我尝试了所有可能的组合。
请帮忙。
【问题讨论】:
-
我找到了解决方案。事实上,不需要任何并发症。我在 openlayers 3 上看到了一些关于平铺地图的示例。整个故事只是在一个参数 tiled : true, gridset = 'proper grid set' in parameters object
-
var imageryLayers = viewer.imageryLayers; imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({ url : 'http://localhost:8200/geoserver/SrbijaAdmGranice/wms', layers : 'SrbijaAdmGranice:SRB_AdministrativneGranice_Level2_3909', parameters : { transparent : true, format : 'image/png', tiled : true, gridSet : 'Serbia 3909' } })); -
您应该将您的评论更改为答案。
-
@emackey 怎么做?
-
只需复制并粘贴到答案框中。如果您愿意,您可以在发布后删除评论。
标签: tiles geoserver wms cesium