矢量瓦片地图类。(目前支持加载相同坐标系下的多个MVT服务)
mapbox的style中的各种规范参考:“https://docs.mapbox.com/mapbox-gl-js/style-spec/”。
mapbox的style中的各种规范参考:“https://docs.mapbox.com/mapbox-gl-js/style-spec/”。
Name | Type | Default | Description |
---|---|---|---|
options.url |
String | 适用于通过SuperMap桌面软件生成mvt数据,经iServer发布为rest风格的地图服务。 | |
options.url |
String | 服务地址,适用于第三方发布的WMTS服务。(mapbox只支持3857投影坐标系,全球剖分且瓦片原点位置固定在3857投影左上角的栅格瓦片数据) | |
options.layer |
String | 图层名称,适用于第三方发布的WMTS服务。 | |
options.layerConfig |
String | 图层配置文件。 | |
options.provider |
String | 地图服务provider。 | |
options.name |
String | 地图名称。 | |
options.tileWidth |
String | 瓦片宽度,适用于第三方发布的WMTS服务。 | |
options.tileHeight |
String | 瓦片高度,适用于第三方发布的WMTS服务。 | |
options.format |
String |
'mvt'
|
optional 适用于第三方发布的WMTS服务。 |
options.tilematrxset |
String | 切图矩阵集名称,适用于第三方发布的WMTS服务。 | |
options.billboardMode |
billboardMode | optional 设置文字的显示模式,持平铺显示。 | |
options.localIdeographFontFamily |
Boolean | optional 用于设置文字注记字体为浏览器默认字体,解决mapbox无法识别字体导致文字不显示的问题,默认值false。 | |
options.localFontFamily |
String |
optional
用于设置文字优先从本地生成字体文件,如果本地没有该字体文件则从style.json的字体地址去获取,默认值null。 可参考https://docs.mapbox.com/mapbox-gl-js/api/map/ MVT文字分为表意文字(汉语、日语、韩语等)和字母文字(英语、阿拉伯语等) |
|
options.subdomains |
Array | String | 多子域。传入参数为Array时,支持多个子域加载。传入参数为String时仅支持单个子域加载。 | |
options.crs |
String | 目前支持加载第三方坐标系EPSG:4490,EPSG:3857,默认值EPSG:4490。 | |
options.transformRequest |
function | 回调函数。用于修改url、设置报头或为跨源请求设置凭据属性。默认值为null。 |
Example:
var mvtMap = scene.addVectorTilesMap({
url:URL_CONFIG.MVT,
canvasWidth:512,
name:'testMVT',
viewer:viewer,
transformRequest:function(url,resourceType){
return {
url:url.replace('http','https'),
headers:{'my-custom-header':true}
};
}
});
var layerReadyPromise = mvtMap.readyPromise;
layerReadyPromise.then(function(data){
//后续对MVT的所有接口操作,在readyPromise里面调用
})
Members
-
获取或者设置图层整体的透明度,取值在0到1之间(0为完全透明)。
-
设置MVT图层的精细层使用粗糙层的纹理。通过数字来指定偏移的层数,正整数时使用当前层之上的精细层的纹理,为负数时往下偏移,number表示偏移的层数。
-
设置是否开启渐变(上下层影响切换时做渐变融合)类型为bool,默认值为false。
-
Default Value:
false
-
获取或者设置图层重叠的部分是否显示。设为true时,重叠的部分依然显示,即不参与避让。默认值为false(废弃接口,目前默认支持文字标签避让效果)。
-
Default Value:
false
-
获取或者设置图层使用的mapbox标准的风格对象,可用来在前端修改地图风格、样式、专题图等。 mapbox的style中的各种规范参考:“https://docs.mapbox.com/mapbox-gl-js/style-spec/”。
-
获取图层的最大级别。
-
获取图层的最小级别。
-
设置文字/图标避让阈值,默认值为0。
-
Default Value:
0
-
获取一个promise,当VectorTileMap对象准备好供使用时为true。
-
获取数据的地理范围。
See:
-
设置选中颜色高亮,默认值为SuperMap3D.Color.CYAN。
-
Default Value:
false
-
获取或者设置图层的可见性。
-
获取或者设置是否显示牵引线。
-
获取或者设置显示风格。
See:
-
设置是否开启卷帘功能,默认值:false。
-
Default Value:
false
-
设置卷帘区域左上角和右下角,类型:BoundingRectangle,默认值为new ,SuperMap3D.BoundingRectangle(0.0,0.0,1.0,1.0)
-
Default Value:
new
-
获取切图高度。
-
获取切图宽度。
-
获取数据的全球剖分方式。
Methods
-
添加图层。
Name Type Description layerObject
Object 符合mapbox的style中layer规范的图层参数对象。 before
String 根据ID指定一个目标图层,将新增图层放置于该图层前面。 -
定位相机位置,MVT数据可定位到指定层级。
定位后的相机视角垂直向下,以Cener为视野中心,并以特定层级显示MVT数据。
适用于不加载地形时。
Name Type Description center
Array 定位后的视野中心, 第一个值是经度,第二个值是纬度,单位(度)。 zoom
Number 定位后的MVT层级。 scale
Number 全球比例尺。 Example:
mvtMap.flyTo({ center :[103.6454723, 40.134343], zoom : 11 }); mvtMap.flyTo({ center :[103.6454723, 40.134343], scale : 1.0/36978669.4318207 })
-
获得图层对应视口可见性,主要用于分屏和大屏显示中。
Name Type Description index
Number 索引。 Returns:
visible 可见性。Throws:
-
DeveloperError : the index is 0~3。
-
-
从指定的图层查询在指定地理范围内的渲染特征。
Name Type Description cartographicArray
Array.<Cartographic> | Cartographic 指定地理范围,地理坐标点或者地理坐标数组。 options
Object 对象。 layers
Array.<string> 指定的图层ID,如果未指定图层ID,则返回所有图层与指定范围相交的渲染特征。 filter
Filter 过滤器。 -
查找特征要素。根据指定的特征,查询地图上的元素,现在已经支持模糊查询。
Name Type Description params
指定的要素特征,根据该特征进行查找。 Example:
var result = mvtMap.querySourceFeatures({ sourceLayer: selectLayer.id, //子图层名称 filter: ["like","NAME","京"] //设置模糊查询过滤条件。如此处可以查出NAME属性带“京”的要素。 })
-
刷新图层,让修改后的地图风格生效。
-
释放选中区域。
-
移除指定ID的图层。
Name Type Description id
String 拟被移除的图层的ID。 -
对接第三方MVT数据(加载第三方数据时必须设置数据的坐标系)。
Name Type Description crs
String 目前支持EPSG:4490,EPSG:3857,默认值EPSG:4490。 Example:
SuperMap3D.when(mvtMap.readyPromise, function(){ mvtMap.setCRS("EPSG:3857") })
-
为指定ID的图层设置过滤器。
Name Type Description layerID
String 拟设置过滤器的图层ID。 filter
Object 一个符合mapbox的style中filter规范的过滤器参数对象。 -
为指定ID的图层设置布局风格。通过该接口,可以设置文本换行显示。
Name Type Description layerId
String 拟设置布局风格的图层ID name
String 布局风格的名称。 value
String 布局风格的值。 Example:
设置文字换行的用法。 mvtMap.setLayoutProperty(子图层名称,'text-max-width',单行文本的最大字符数) mvtMap.setLayoutProperty("加油站注记#1", 'text-max-width',5 ) 设置文字图层不沿线旋转,默认值false。 mvtMap.setLayoutProperty("沿线文字图层id", 'ignore-line-rotation', true/false ) 设置沿线文字图层位置沿着矢量数据定义的顺序放置。 mvtMap.setLayoutProperty("沿线文字图层id", 'symbol-placement', 'line-direction') 沿线文字新增text-keep-upright-alignment风格,支持设置字体向上的对齐目标,默认值‘line'为mapbox渲染效果,与矢量线平行。viewport为文字渲染结果与视口平行。 mvtMap.setLayoutProperty(layer.id, 'text-keep-upright-alignment', 'viewport') 设置文字的方向,默认值为 ['horizontal', 'vertical'],'line' 为控制沿线文字按照矢量数据定义的顺序放置。 mvtMap.setLayoutProperty(layer.id, 'text-writing-mode', 'line')
-
为指定ID的图层设置画布样式。
Name Type Description layerId
String 拟设置画布样式的图层ID。 name
String 画布的名称。 value
String 画布的值。 -
设置图层对应视口可见性,主要用于分屏和大屏显示中。
Name Type Description index
Number 索引。 visible
Boolean 可见性。 Throws:
-
DeveloperError : the index is 0~3。
-