Class: FeatureVector

FeatureVector

矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 FeatureVector.style 类中定义,如果没有特别的指定将使用默认的样式。

new FeatureVector(geometry, attributes, style)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/openlayers/iclient-ol.js"></script>
<script>
  new ol.supermap.Feature.Vector(geometry, attributes, style);
  
  // 弃用的写法
  new SuperMap.Feature.Vector(geometry, attributes, style);

</script>

// ES6 Import
import { FeatureVector } from '@supermap/iclient-ol';

new FeatureVector(geometry, attributes, style);

common/commontypes/Vector.js, line 7
Name Type Description
geometry Geometry

要素的几何信息。

attributes Object 可选

描述要素的任意的可序列化属性,将要映射到 attributes 属性中的对象。

style Object 可选

样式对象。

Example
var geometry = new GeometryPoint(-115,10);
 var style = {
     strokeColor:"#339933",
     strokeOpacity:1,
     strokeWidth:3,
     pointRadius:6
 }
 var pointFeature = new FeatureVector(geometry,null,style);
 vectorLayer.addFeatures(pointFeature);

Extends

Members

attributesObject

描述要素的任意的可序列化属性。

boundsBounds

限制要素几何的边界。

dataObject

数据对象。

fidstring

fid。

geometryGeometry

存放几何信息。

idstring

要素 ID。

deprecated layerSuperMap.Layer

图层。

lonlatLonLat

经纬度。

statestring

state。

styleObject

要素的样式属性,地图查询返回的 feature 的 style,8C 变为null。

urlstring

如果设置了这个属性,在更新或者删除要素时需要考虑 HTTP 。

Methods

clone(){FeatureVector}

common/commontypes/Vector.js, line 187

复制矢量要素,并返回复制后的新对象。

Returns:
Type Description
FeatureVector 相同要素的新的矢量要素。

destroy()

common/commontypes/Vector.js, line 173

释放资源,将引用资源的属性置空。

toState(state)

common/commontypes/Vector.js, line 199

设置新状态。

Name Type Description
state string

状态。

Type Definitions

styleObject

Feature 有大量的样式属性,如果没有特别的指定将使用默认的样式, 大部分样式通过 SVG 标准定义属性。

Properties:
Name Type Default Description
fill boolean 可选

不需要填充则设置为 false。

fillColor string '#ee9900' 可选

十六进制填充颜色。

fillOpacity number 0.4 可选

填充不透明度。

stroke boolean 可选

不需要描边则设为 false。

strokeColor string '#ee9900' 可选

十六进制描边颜色。

strokeOpacity number 0.4 可选

描边的不透明度(0-1)。

strokeWidth number 1 可选

像素描边宽度。

strokeLinecap string 'round' 可选

strokeLinecap 有三种类型 butt,round,square。

strokeDashstyle string 'solid' 可选

有 dot,dash,dashdot,longdash,longdashdot,solid 几种样式。

graphic boolean 可选

不需要则设置为 false。

pointRadius number 6 可选

像素点半径。

pointerEvents string 'visiblePainted' 可选

pointerEvents。

cursor string 可选

cursor。

allowRotate boolean 'false' 可选

是否允许图标随着运行方向旋转。用于时空数据图层。

externalGraphic string 可选

连接到用来渲染点的外部的图形。

graphicWidth number 可选

外部图表的像素宽度。

graphicHeight number 可选

外部图表的像素高度。

graphicOpacity number 可选

外部图表的不透明度(0-1)。

graphicXOffset number 可选

外部图表沿着x方向的偏移量。

graphicYOffset number 可选

外部图表沿着y方向的偏移量。

rotation number 可选

一个图表沿着其中心点(或者偏移中心指定点)在顺时针方向旋转。

graphicZIndex number 可选

渲染时使用的索引值。

graphicName string 'circle' 可选

渲染点时图标使用的名字。支持"circle" , "square", "star", "x", "cross", "triangle"。

graphicTitle string 可选

外部图表的提示框。

backgroundGraphic string 可选

外部图表的背景。

backgroundGraphicZIndex number 可选

背景图渲染时使用的索引值。

backgroundXOffset number 可选

背景图在 x 轴的偏移量。

backgroundYOffset number 可选

背景图在 y 轴的偏移量。

backgroundHeight number 可选

背景图的高度。如果没有设置,将用 graphicHeight。

backgroundWidth number 可选

背景图的宽度。如果没有设置,将用 graphicWidth。

isUnicode boolean false 可选

这个属性要配合 label 属性来用,当为 true时,label 就可以使用 unicode 编码, 比如 "a" 的 unicode 十六进制编码为 61,则 label 属性可以为 "a",其中 "&#" 为前缀,标志这个为 unicode 编码, "x" 是指 16 进制,这时页面显示的是 "a";当此值为 false 的时候,label 的内容会被直接输出, 比如,label 为 "a",这时页面显示的也是 "a"。

label string 可选

可选的标签文本。

labelAlign string 'cm' 可选

标签对齐,是由两个字符组成的字符串,如:"lt", "cm", "rb", 其中第一个字符代表水平方向上的对齐,"l"=left, "c"=center, "r"=right; 第二个字符代表垂直方向上的对齐,"t"=top, "m"=middle, "b"=bottom。

labelXOffset number 可选

标签在 x 轴方向的偏移量。

labelYOffset number 可选

标签在 y 轴方向的偏移量。

labelSelect boolean false 可选

如果设为 true,标签可以选用 SelectFeature 或者 similar 控件。

fontColor string '#000000' 可选

标签字体颜色。

fontOpacity number 可选

标签透明度 (0-1)。

fontFamily string 可选

标签的字体类型。

fontSize string 可选

标签的字体大小。

fontStyle string 可选

标签的字体样式。

fontWeight string 可选

标签的字体粗细。

display string 可选

如果 display 属性设置为 “none”,符号将没有任何效果。

Example
// label的用法如下:
 function addGeoTest(){
 var geometry = new GeometryPoint(105, 35);
 var pointFeature = new FeatureVector(geometry);
 var styleTest = {
       label:"supermap",
       fontColor:"#0000ff",
       fontOpacity:"0.5",
       fontFamily:"隶书",
       fontSize:"8em",
       fontWeight:"bold",
       fontStyle:"italic",
       labelSelect:"true",
    }
          pointFeature.style = styleTest;
         vectorLayer.addFeatures([pointFeature]);
}