layer~VectorLayer(name, options)

矢量要素图层,负责矢量要素表达的图层。因无法区分深度完全相同的面,故该图层默认深度关闭。建议该图层仅存在白模时开启深度。

Summary

Methods:
addFeature

添加的单个地理要素。每调用一次,图层就会重绘一次。

addFeatures

添加多个地理要素
注意,当前版本中暂不支持由集合体(module:geom~Collection)组成的Feature。

clone

克隆一个图层。

destroy

销毁图层对象

getAllFeatures

返回该图层的所有要素。

getDataExtent

计算图层所有数据的地理边界,即这个边界范围内,包含该图层的所有要素,区别于图层的全球地理范围。

getFeatureByFid

获取一个地理要素。

getFeaturesByAttribute

给定属性与值,获取匹配的地理要素。
如果没有找到匹配的地理要素,则返回一个空的数组。

getLayerType

获取图层类型

getLayerZIndex

返回图层的zIndex值。

getMap

获取当前图层所在的地图。

getName

获取图层名称。

getOpacity

获取图层透明度。

getStyle

获取图层样式

getVisibility

获取图层的可见性。

offMap

解除图层与地图的关联,即从图层去掉与地图对象有关的信息,同时在地图对象去掉与该图层有关的信息。关联解除后,图层依然存在,但与地图不再有关系。
如果图层本身并未加载到地图上,那么该方法没有任何效果。

redraw

重新绘制图层

removeAllFeatures

删除所有地理要素

removeFeature

删除单个地理要素,如果要删除的地理要素不在图层上,则会返回false。

removeFeatures

删除一组地理要素。

setLayerZIndex

设置图层在图层容器中的顺序。

setName

设置图层名称。

setOpacity

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

setStyle

设置图层样式。

setVisibility

设置图层的可见性。仅设置该图层是否可见,而图层本身依然存在。

updateFeature

更新已添加到图层中的指定的feature。

updateFeatures

更新已添加到图层中的指定feature数组。

Constructor

new VectorLayer(name, options)

Parameters:
Name Type Description
name String

图层名称

options Object

可选项。给出的属性都将被绑定到该图层对象上。

Name Type Description
visibility Boolean

可选项。设置图层的可见性,true表示图层可见,false表示图层不可见,若不传该参数,则默认图层可见。

opacity Number

可选项。设置图层的透明度,参数值可以为[0,1]区间内的任意值,数值越大,表示越不透明,其中0表示透明,1表示不透明。

style Style

可StretchPainter选项。设置该图层中要素的样式,若不传,则有默认样式。

Example
let options = {
 visibility:true,//可见性
 opacity:1, //透明度
 style:hmap.style.Style.getDefault()//设置图层样式
};
let vectorLayer = new hmap.layer.VectorLayer("矢量图层",options);

Methods

addFeature(feature)

添加的单个地理要素。每调用一次,图层就会重绘一次。

Parameters:
Name Type Description
feature module:feature~Vector

要添加的地理要素

Example
let coord = new hmap.basetype.Coordinate(120.24,30.18,0.0);
let point = new hmap.geom.Point(coord);
let textSymbol=new hmap.style.TextSymbol({"text":"海康威视"});
let textStyle = new hmap.style.Style({"textSymbols":[textSymbol]});
let textfeature =new hmap.feature.Vector(point,{name:'摄像头', id:205},textStyle);
vectorLayer.addFeatures(textfeature);

addFeatures(features)

添加多个地理要素
注意,当前版本中暂不支持由集合体(module:geom~Collection)组成的Feature。

Parameters:
Name Type Description
features Array.<module:feature~Vector>

矢量地理要素的数组

Example
let coord = new hmap.basetype.Coordinate(120.24,30.18,0.0);
let point = new hmap.geom.Point(coord);
let textSymbol=new hmap.style.TextSymbol({"text":"海康威视"});
let textStyle = new hmap.style.Style({"textSymbols":[textSymbol]});
let textfeature =new hmap.feature.Vector(point,{name:'摄像头', id:205},textStyle);
vectorLayer.addFeatures([textfeature]);

clone() → {module:layer~VectorLayer}

克隆一个图层。

Returns:
module:layer~VectorLayer -

新的图层

Example
let newVectorLayer = vectorLayer.clone();

destroy()

销毁图层对象

getAllFeatures() → {Array.<module:feature~Vector>}

返回该图层的所有要素。

Returns:
Array.<module:feature~Vector> -

添加到该图层所有的要素

Example
let result = vectorLayer.getAllFeatures();

getDataExtent() → {module:basetype~Extent}

计算图层所有数据的地理边界,即这个边界范围内,包含该图层的所有要素,区别于图层的全球地理范围。

Returns:
module:basetype~Extent -

能包含所有要素的一个地理边界

Example
let dataExtent = vectorLayer.getDataExtent();

getFeatureByFid(fid) → {module:feature~Vector}

获取一个地理要素。

Parameters:
Name Type Description
fid String

要素的fid编号

Returns:
module:feature~Vector -

id对应的地理要素。如果地理标识不存在,则返回undefined。

Example
let point = new hmap.geom.Point(new hmap.basetype.Coordinate(120.24,30.18,0.0));
let textSymbol=new hmap.style.TextSymbol({"text":"海康威视"});
let textStyle = new hmap.style.Style({"textSymbols":[textSymbol]});
let textfeature =new hmap.feature.Vector(point,{name:'摄像头', id:205},textStyle);
textfeature.setFid("textFeature0");
vectorLayer.addFeatures([textfeature]);
let feature = vectorLayer.getFeatureByFid("textFeature0");

getFeaturesByAttribute(attrName, attrValue) → {Array.<module:feature~Vector>}

给定属性与值,获取匹配的地理要素。
如果没有找到匹配的地理要素,则返回一个空的数组。

Parameters:
Name Type Description
attrName String

属性名称或键名

attrValue *

属性值。字符串、数字等

Returns:
Array.<module:feature~Vector> -

返回所匹配的要素构成的数组

Example
let features = vectorLayer.getFeaturesByAttribute("name", 205);//得到属性name为205的要素数组

getLayerType() → {String}

获取图层类型

Returns:
String -

图层类型

getLayerZIndex() → {Number}

返回图层的zIndex值。

Returns:
Number -

图层的zIndex

getMap() → {module:Map}

获取当前图层所在的地图。

Returns:
module:Map -

图层所属的地图对象

getName() → {String}

获取图层名称。

Returns:
String -

图层名称

getOpacity() → {Number}

获取图层透明度。

Returns:
Number -

透明度

getStyle() → {module:style~Style}

获取图层样式

Returns:
module:style~Style -

当前图层样式。

Example
let style = vectorLayer.getStyle();

getVisibility() → {Boolean}

获取图层的可见性。

Returns:
Boolean -

true表示可见,false表示不可见。

offMap()

解除图层与地图的关联,即从图层去掉与地图对象有关的信息,同时在地图对象去掉与该图层有关的信息。关联解除后,图层依然存在,但与地图不再有关系。
如果图层本身并未加载到地图上,那么该方法没有任何效果。

redraw(type)

重新绘制图层

Parameters:
Name Type Default Description
type Number 1

取值为0或1,0表示map调用redraw,1表示layer调用redraw,默认为1。

removeAllFeatures()

删除所有地理要素

Example
vectorLayer.removeAllFeatures();

removeFeature(feature)

删除单个地理要素,如果要删除的地理要素不在图层上,则会返回false。

Parameters:
Name Type Description
feature module:feature~Vector

要删除的地理要素

Example
let coord = new hmap.basetype.Coordinate(120.24,30.18,0.0);
let point = new hmap.geom.Point(coord);
let textSymbol=new hmap.style.TextSymbol({"text":"海康威视"});
let textStyle = new hmap.style.Style({"textSymbols":[textSymbol]});
let textfeature =new hmap.feature.Vector(point,{name:'摄像头', id:205},textStyle);
vectorLayer.addFeatures([textfeature]);
vectorLayer.removeFeature(textfeature);

removeFeatures(features)

删除一组地理要素。

Parameters:
Name Type Description
features Array.<module:feature~Vector>

删除指定的地理要素

Example
let coord = new hmap.basetype.Coordinate(120.24,30.18,0.0);
let point = new hmap.geom.Point(coord);
let textSymbol=new hmap.style.TextSymbol({"text":"海康威视"});
let textStyle = new hmap.style.Style({"textSymbols":[textSymbol]});
let textfeature =new hmap.feature.Vector(point,{name:'摄像头', id:205},textStyle);
vectorLayer.addFeatures([textfeature]);
vectorLayer.removeFeatures([textfeature]);

setLayerZIndex(zIndex)

设置图层在图层容器中的顺序。

Parameters:
Name Type Description
zIndex Number

图层的zIndex,值越大,图层越靠近上方。但是该值改变不了图层容器的上下顺序。

setName(name)

设置图层名称。

Parameters:
Name Type Description
name String

图层名称

Throws:
Error -

当name不是String类型时抛出异常。

setOpacity(opacity)

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

Parameters:
Name Type Default Description
opacity Number 1

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

Throws:
TypeError -

当图层的透明度值不是一个0-1之间的数字时,抛出异常。

setStyle(style)

设置图层样式。

Parameters:
Name Type Description
style module:style~Style

图层的样式对象。

Example
let style = hmap.style.Style.getDefault();
vectorLayer.setStyle(style);

setVisibility(visible)

设置图层的可见性。仅设置该图层是否可见,而图层本身依然存在。

Parameters:
Name Type Default Description
visible Boolean true

是否可见,默认为true,可见。

Throws:
TypeError -

当参数不是布尔类型时,抛出异常。

updateFeature(feature)

更新已添加到图层中的指定的feature。

Parameters:
Name Type Description
feature module:feature~Vector

需要更新的要素

updateFeatures(features)

更新已添加到图层中的指定feature数组。

Parameters:
Name Type Description
features Array.<module:feature~Vector>

需要更新的要素数组