layer~VectorTileBinLayer(name, url, options)

二进制矢量切片图层。以分块的矢量格式来存储和渲染地理要素。为保证绘制效果,该图层深度状态由内部控制。

Summary

Methods:
fromHMapPlatform

通过空间信息服务平台元数据创建图层

getLabelOn

获取注记启用状态。

getLayerType

获取图层类型

getLineLableVisibility

获取线注记(比如道路名称)的可见性

getMarkerVisibility

获取图标注记(比如POI点图标)的可见性

getPointLableVisibility

获取点文字注记(比如POI点的名称)的可见性

getResolution

返回地图当前缩放级别的分辨率。

getResolutions

获取图层的分辨率数组。

setClampMode

设置贴地模式

setLabelOn

开启或者关闭指定类型的注记。
自定义矢量切片注记分为三种:
a)、图标:比如POI(兴趣点)的图标。
b)、线文字,比如道路注记。
c)、点|面文字,比如兴趣点或者兴趣面的名称。

setLineLableVisibility

设置线注记(比如道路名称)的可见性

setMarkerVisibility

设置图标注记(比如POI点图标)的可见性

setOpacity

设置图层不透明度。
0表示完全透明,1表示完全不透明。从0到1,越来越不透明。

setPointLableVisibility

设置点文字注记(比如POI点的名称)的可见性

updateIcons

更新图标图集。

Constructor

new VectorTileBinLayer(name, url, options)

Parameters:
Name Type Description
name String

矢量切片图层的名称

url String

矢量切片数据文件(hvt)的路径

options Object
Name Type Description
roadLabelLimitAngle Number

一个阈值,当地图倾斜超过这个阈值时地图道路注记不显示,缺省值为40度。

labelOn Boolean

启用地图注记,默认true。

dataMaxLevel Number

整数,表示当前图层中瓦片数据的最大级别,当地图缩放超过该值时,该图层中瓦片数据将被继续渲染。如果不设置或该值大于地图最大级别,则默认按地图对象的最大级别算。

enableLight Boolean

是否开启图层光照,即图层是否受地图光照影响,默认为true,作用的是矢量切片中的简模。

styleUrl String

样式文件的路径,这里的样式文件只影响注记和文字的展示

depthTest Boolean

是否开启深度,与其他图层进行深度混合,默认为false

useWebWorker Boolean

是否开启多线程,默认为false

clampToGround Boolean

是否贴三维基础图层绘制,默认为false,如果设置,需要再指定三维基础图层。

clampMode String

贴地模式,有"texture"(纹理模式)和"height"(高度模式)两个枚举值可选,默认为"texture"。纹理模式下,图层中的线面会以纹理的形式绘制到三维基础图层表面;
如果设置了高度模式,图层中的要素会在自身高度的基础上,再追加地形高度。此设置针对的是线面类型的要素,点类型要素(包括点图标和注记文字)只能为高度模式,高度模式下,如果要素需要完全贴地形,需要将原始点位的z值设置为0。

Example
let vOptions = {
      matrixOrigin: new hmap.basetype.Coordinate(-180, 90),
      dataFormat: "hvtb",
};
let vectileLayer = new hmap.layer.VectorTileBinLayer("矢量瓦片图层", hvtbUrl, vOptions);

Members

clampToGround

设置贴地状态

depthTest

获取图层的深度测试属性
return {Boolean} 深度测试属性

Overrides:

Methods

static fromHMapPlatform(metadataUrl, options) → {Promise}

通过空间信息服务平台元数据创建图层

Parameters:
Name Type Description
metadataUrl String

空间信息服务平台服务对应的元数据地址

options options

可选项,对空间信息服务平台元数据不包含的可选项进行补充,若传入的可选项与元数据中重复,以元数据为准。对于VectorTileBinLayer而言,这里需要传入样式地址styleUrl

Returns:
Promise -

图层创建的promise,resolve返回图层实例

getLabelOn() → {Boolean}

获取注记启用状态。

Returns:
Boolean -

注记启用状态,启用为true,未启用为false

getLayerType() → {String}

获取图层类型

Returns:
String -

图层类型

getLineLableVisibility() → {Boolean}

获取线注记(比如道路名称)的可见性

Returns:
Boolean -

线注记的可见性

getMarkerVisibility() → {Boolean}

获取图标注记(比如POI点图标)的可见性

Returns:
Boolean -

图标类注记的可见性

getPointLableVisibility() → {Boolean}

获取点文字注记(比如POI点的名称)的可见性

Returns:
Boolean -

点文字注记的可见性

getResolution() → {Number}

返回地图当前缩放级别的分辨率。

Returns:
Number -

地图在当前缩放级别的分辨率

getResolutions() → {Array}

获取图层的分辨率数组。

Returns:
Array -

图层的分辨率数组

Example
vectileLayer.getResolutions();

setClampMode(mode)

设置贴地模式

Parameters:
Name Type Description
mode String

贴地模式,具体说明见构造函数ClampMode可选项

setLabelOn(flag, tag, autoDraw)

开启或者关闭指定类型的注记。
自定义矢量切片注记分为三种:
a)、图标:比如POI(兴趣点)的图标。
b)、线文字,比如道路注记。
c)、点|面文字,比如兴趣点或者兴趣面的名称。

Parameters:
Name Type Default Description
flag Boolean

是否启用地图注记。

tag Number 7

要调整的注记类型,是一个3位的二进制数转换而来的十进制,取值范围为[0,7],这个3位的二进制,从右往左分别代表三种注记类型。
第一位表示点图标,第二位表示线文字,第三位表示点|面文字。
每一位的二进制的值可取0或1,1表示当前位代表的注记类型参与本次注记开关,0表示不参加。
eg:tag为3,对应的二进制为011,代表点图标,线文字参与本次注记的开关,状态调整为flag,点|面文字保持现状。

autoDraw Boolean true

调整完后是否主动重绘,缺省值true。

setLineLableVisibility(visibility, autoDraw)

设置线注记(比如道路名称)的可见性

Parameters:
Name Type Default Description
visibility Boolean

是否可见

autoDraw Boolean true

是否重绘,默认为true,自动重绘

setMarkerVisibility(visibility, autoDraw)

设置图标注记(比如POI点图标)的可见性

Parameters:
Name Type Default Description
visibility Boolean

是否可见

autoDraw Boolean true

是否重绘,默认为true,自动重绘

setOpacity(opacity)

设置图层不透明度。
0表示完全透明,1表示完全不透明。从0到1,越来越不透明。

Parameters:
Name Type Default Description
opacity Number 1

图层透明度,介于0~1之间。

setPointLableVisibility(visibility, autoDraw)

设置点文字注记(比如POI点的名称)的可见性

Parameters:
Name Type Default Description
visibility Boolean

是否可见

autoDraw Boolean true

是否重绘,默认为true,自动重绘

updateIcons(url, callback, updateTexture)

更新图标图集。

Parameters:
Name Type Default Description
url String

图集的路径:图标图集包含icons.png和icons.json 两部分
比如:http://ip:port/style/icons.png 和 http://ip:port/style/icons.json
那么url=http://ip:port/style

callback function

更新操作之后的回调函数

updateTexture Boolean true

是否立即更新

Example
vectorTileLayer.updateIcons('./asset/',function(){vectorTileLayer.redraw()})