1.BingMapsImageryProvider 用于加载Bing Maps提供的影像数据,支持多种分辨率、样式和地区。 使用前需要从Bing Maps官网获取有效的API key。
const bing = Cesium.BingMapsImageryProvider.fromUrl("url", {
key: "key",
mapStyle: Cesium.BingMapsStyle.AERIAL // 可选参数,指定地图样式
});
imageLayers.addImageryProvider(bing);
2.GoogleEarthEnterpriseImageryProvider 用于加载Google Earth Enterprise Server提供的影像数据,支持多种格式和分辨率。
3.GridImageryProvider 用于加载以栅格方式存储的影像数据,支持多种格式和地图投影方式。
var gridImagery = new Cesium.GridImageryProvider({
color: Cesium.Color.fromCssColorString('#ff00ff'), // 可选参数,指定网格线颜色
glowFactor: 0.2, // 可选参数,指定网格线辉光系数 });
imageLayers.addImageryProvider(gridImagery);
4.ArcGisMapServerImageryProvider 用于加载ArcGIS Server提供的地图服务。
const imageryProvider = new Cesium.ArcGisMapServerImageryProvider({
url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
// 其他配置参数,如子图层ID、认证信息等
});
5.WebMapTileServiceImageryProvider 用于加载符合Web Map Tile Service (WMTS) 规范的在线地图服务。
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
url: "http://t{s}.tianditu.com/cia_w/wmts",
subdomains: ["0","1","2","3","4","5","6","7"],
layer: "tdtCiaLayer",
style: "default",
format: "image/jpeg",
tileMatrixSetID: "GoogleMapsCompatible",
show: true, // 是否显示该图层
})
);
6.UrlTemplateImageryProvider 用于加载瓦片地图数据(默认大小为256*256),其中z,x,y分别表示瓦片的级别和行、列。
viewer.imageryLayers.addImageryProvider(
new Cesium.UrlTemplateImageryProvider({
url:‘url’,
tilingScheme: new Cesium.WebMercatorTilingScheme(), // 指定Web Mercator投影(EPSG:3857) 84坐标是(EPSG:4326)
maximumLevel: 16,//最大层级
minimumLevel: 1,//最小层级
})
)
注意:
注意坐标系是墨卡托坐标系还是84坐标系(默认为84坐标系)
墨卡托坐标系: tilingScheme: new Cesium.WebMercatorTilingScheme()
84坐标系:tilingScheme : new Cesium.GeographicTilingScheme()
7.SingleTileImageryProvider 可加载离线图层 (UrlTemplateImageryProvider和createTileMapServiceImageryProvider 也可)
viewer.imagery.add(new Cesium.ImageryLayer({
imageryProvider: new Cesium.SingleTileImageryProvider({
url: 'url' // 替换为你的离线图片路径
})
})
)
注意x,y切割的开始位置,可通过reverse转换。
8.createTileMapServiceImageryProvider 可加载离线图层 (UrlTemplateImageryProvider 和SingleTileImageryProvider 也可)
viewer.imageryLayers.addImageryProvider(
Cesium.createTileMapServiceImageryProvider({
url: 'url',
// 其他可选配置
rectangle: Cesium.Rectangle.fromDegrees(-10.0, -10.0, 10.0, 10.0), // 地图加载的区域
tilingScheme: new Cesium.GeographicTilingScheme(), // 地理瓦片方案
tileWidth: 256, // 瓦片宽度
tileHeight: 256, // 瓦片高度
ready: function (imageryProvider) {
// 当图像提供者准备好后,你可以在这里执行代码
// 例如,将图像提供者添加到Cesium.Viewer的imageryLayers中
viewer.imageryLayers.addImageryProvider(imageryProvider);
}
})
)
欢迎补充,一起进步。