WebMapServiceImageryProvider
是一个 Cesiumjs
中的图像提供者,允许从 Web Map Service (WMS) 服务中获取地图数据,并将其作为一个图层添加到 Cesiumjs 地球上。
var viewer = new Cesium.Viewer('cesiumContainer');
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer',
layers: '1'
});
viewer.imageryLayers.addImageryProvider(wmsImageryProvider);
以上代码将在 viewer
中添加一个 WebMapServiceImageryProvider
,图层颜色为默认,图层透明度为默认。
参数名 | 数据类型 | 说明 |
---|---|---|
url | String | WMS 服务地址 |
layers | String | WMS 服务包含的图层 ID |
layerNames | Array | 覆盖 layers ,两者只能使用一个,多选时需用逗号隔开字符串 |
parameters | Object | 包含 WMS 服务的额外参数 |
enablePickFeatures | Boolean | 是否开启拾取 |
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer'
});
url
参数是必须的,需要指定 WMS 服务的地址。
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer',
layers: '1'
});
layers
参数是必须的,需要指定 WMS 服务包含的图层 ID。
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer',
layerNames: ['1']
});
layerNames
参数可以覆盖 layers
,两者只能使用一个。
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer',
layers: '1',
parameters: {
format: 'image/png',
transparent: true,
... // 更多参数
}
});
parameters
参数为可选参数,可包含 WMS 服务的额外参数,例如图片格式、透明度等等。
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: 'https://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WmsServer',
layers: '1',
enablePickFeatures: true
});
enablePickFeatures
参数为可选参数,设置为 true 时可以启用拾取功能。