GeographicTilingScheme
是 CesiumJS 中一种用于将地球表面划分为规则矩形网格的图块方案。它采用经纬度坐标进行划分,并可以按需制定分辨率级别。该方案非常适合在地球表面贴图时使用。
new Cesium.GeographicTilingScheme(options);
options
:可选参数对象,可设置如下属性:
numberOfLevels
:地图级别数。默认值为 18
。extent
:地图最大范围。可以是 Rectangle
对象,也可以是由西、南、东、北坐标值组成的数组。默认值为 Rectangle.MAX_VALUE
。ellipsoid
:使用的椭球体。默认值为 Cesium.Ellipsoid.WGS84
。将坐标系中的 tile 坐标转换为对应的矩形坐标范围。
level
:瓦片所在级别。x
:瓦片在横轴上的位置。y
:瓦片在纵轴上的位置。将给定位置转换为坐标系中的 tile 坐标。
position
:位置对象,示例:new Cesium.Cartographic(longitude, latitude, height)
。level
:瓦片所在级别。var viewer = new Cesium.Viewer('cesiumContainer');
var imageryProvider = new Cesium.UrlTemplateImageryProvider({
url: 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png',
credit: 'OSM'
});
viewer.imageryLayers.addImageryProvider(imageryProvider);
var tilingScheme = new Cesium.GeographicTilingScheme({
numberOfLevels: 18,
extent: [-Math.PI, -Math.PI / 2, Math.PI, Math.PI / 2]
});
var provider = new Cesium.SingleTileImageryProvider({
url: 'http://geomap.icc.cat/mapfactory/wms/service?version=1.3.0&request=GetMap&layers=Topo250&bbox={westProjected},{southProjected},{eastProjected},{northProjected}&crs=EPSG:4326&format=image/png&width=256&height=256',
rectangle: tilingScheme.tileXYToRectangle(0, 0, 0)
});
viewer.imageryLayers.addImageryProvider(provider);
viewer.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(-122.3267, 47.6735, 10000000.0)
});
此示例演示了在 CesiumJS 中如何使用 GeographicTilingScheme
实现地图贴图效果。在此示例中,我们使用了 UrlTemplateImageryProvider
和 SingleTileImageryProvider
来加载地图图块,并使用 GeographicTilingScheme
将地球表面划分为规则矩形网格。