# new ArcGISVectorTileImageryProvider()
ArcGIS矢量瓦片图层,现已不支持通过构造函数(new ArcGISVectorTileImageryProvider())的方式初始化图层,而是使用fromUrl方法构造图层
请参考以下示例:
1、卷帘2、更多图层加载示例
支持如下方法:
[1、通过ArcGIS矢量瓦片服务的url获取VectorTileImageryProvider对象]方法
# async static fromUrl(url, options)
通过ArcGIS矢量瓦片服务的url获取VectorTileImageryProvider对象
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
url |
String | 服务的基地址,格式如下: |
|
options |
Object | 实例化对象时提供的额外配置参数,若该对象中包含构造参数则会覆盖对应的构造参数 |
|
style |
Object | null | 矢量瓦片样式,必填,请参考Mapboxgl的矢量瓦片标准文档:https://docs.mapbox.com/style-spec/reference/ |
scene |
Cesium.Scene | null | Cesium的场景对象,必填,详见Cesium.Scene |
tilingScheme |
Cesium.TilingScheme | CustomTilingScheme | new Cesium.WebMercatorTilingScheme() | 矢量瓦片服务的平铺方案,必填,详见Cesium.TilingScheme |
show |
Boolean | true | 是否显示图层 |
defaultAlpha |
Number | 1.0 | 图层初始化时的透明度,0到1之间的值 |
tileWidth |
Number | 512 | 瓦片宽度 |
tileHeight |
Number | 512 | 瓦片高度 |
rectangle |
Cesium.Rectangle | tilingScheme.rectangle | 图层显示范围,超出范围不会额外请求瓦片,若不设置,则从tilingScheme中获取,详见Cesium.Rectangle |
minimumLevel |
Number | 0 | 矢量瓦片的最小显示级别 |
maximumLevel |
Number | 20 | 矢量瓦片的最大显示级别 |
isStretchImage |
Boolean | undefined | false | 超过最大最小层级范围图像是否进行图像的拉伸。此值未定义或者设置为true时,如果图像level小于minimumLevel或者大于maximumLevel,图像会进行拉伸。反之,如果图像level小于minimumLevel或者大于maximumLevel,不会再请求图像以及拉伸图像 |
tokenKey |
String | 'token' | token名 |
tokenValue |
String | null | token值,只有当tokenValue存在时,才会绑定token |
pixelRatio |
Number | 1 | 像素缩放因子,既canvas中一个像素对应屏幕像素的大小 |
transform |
Array.<Number> | [0.125, 0, 0, 0.125, 0, 0] | 矢量瓦片中绘制的几何内容的缩放矩阵,默认是[0.125, 0, 0, 0.125, 0, 0],意味着将矢量瓦片里的内容缩放至1/8,并填充到canvas中 |
sublayerLabelingInfos |
Object | 矢量瓦片注记参数 |
|
labelsRenderMode |
String | 指定矢量瓦片注记的渲染模式,仅在三维上有效。on-screen表示使用三维接口实时渲染注记;off-screen表示通过先将注记渲染到图片上,再通过三维接口渲染到屏幕。 |
|
readyPromise |
Promise | 图层加载成功后的回调函数 |
初始化完毕的ArcGISVectorTileImageryProvider对象
示例
const url = 'https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer'
const addImageryProvider = async (url) => {
const imageryProvider = await ArcGISVectorTileImageryProvider.fromUrl(url)
viewer.imageryLayers.addImageryProvider(imageryProvider)
}
addImageryProvider(url)