Skip to content

Documentation / @geoverse/core-libre / GFeature

Abstract Class: GFeature

Defined in: packages/core-libre/src/features/feature.ts:19

GeoVerse Libre 要素基类(自建基类,对齐 core 的 GFeature)。

MapLibre 没有要素类——要素是 GeoJSON。本类持有一个 GeoJSON Feature, 样式以属性形式存放(由 GVectorLayer 的声明式样式表达式渲染), 并提供与 core 同名的样式/坐标便捷读写与要素级事件订阅。

Extended by

Constructors

Constructor

ts
new GFeature(
   geometry, 
   properties?, 
   id?): GFeature;

Defined in: packages/core-libre/src/features/feature.ts:33

Parameters

geometry

Geometry

properties?

Record<string, unknown> = {}

id?

string | number

Returns

GFeature

Properties

geometry

ts
protected geometry: Geometry;

Defined in: packages/core-libre/src/features/feature.ts:23


gid

ts
readonly gid: string;

Defined in: packages/core-libre/src/features/feature.ts:21

本库内部要素 id(写入 properties[GID_KEY],供命中回查)


layer?

ts
protected optional layer?: GVectorLayer;

Defined in: packages/core-libre/src/features/feature.ts:26

所属矢量图层(addFeature 时回填)


properties

ts
protected properties: Record<string, unknown>;

Defined in: packages/core-libre/src/features/feature.ts:24

Accessors

cancelBubble

Get Signature

ts
get cancelBubble(): boolean;

Defined in: packages/core-libre/src/features/feature.ts:180

是否阻止事件冒泡到下层要素

Returns

boolean

Methods

_dispatch()

ts
_dispatch(evt): void;

Defined in: packages/core-libre/src/features/feature.ts:185

内部:由 GMap 派发命中事件

Parameters

evt

FeaturePointerEvent

Returns

void


_setLayer()

ts
_setLayer(layer): void;

Defined in: packages/core-libre/src/features/feature.ts:190

内部:绑定/解绑所属图层

Parameters

layer

GVectorLayer | undefined

Returns

void


getFillColor()

ts
getFillColor(): string | undefined;

Defined in: packages/core-libre/src/features/feature.ts:97

Returns

string | undefined


getGeometry()

ts
getGeometry(): Geometry;

Defined in: packages/core-libre/src/features/feature.ts:49

几何对象(GeoJSON,WGS-84 经纬度)

Returns

Geometry


getId()

ts
getId(): string;

Defined in: packages/core-libre/src/features/feature.ts:44

要素 id

Returns

string


getPath()

ts
getPath(): Position[] | null;

Defined in: packages/core-libre/src/features/feature.ts:142

获取路径坐标(线返回坐标串;面返回外环)

Returns

Position[] | null


getPositions()

ts
getPositions(): Position | null;

Defined in: packages/core-libre/src/features/feature.ts:120

获取点坐标(WGS-84)

Returns

Position | null


getProperty()

ts
getProperty(key): unknown;

Defined in: packages/core-libre/src/features/feature.ts:76

读取任意属性

Parameters

key

string

Returns

unknown


getStrokeColor()

ts
getStrokeColor(): string | undefined;

Defined in: packages/core-libre/src/features/feature.ts:85

Returns

string | undefined


getStrokeWeight()

ts
getStrokeWeight(): number | undefined;

Defined in: packages/core-libre/src/features/feature.ts:91

Returns

number | undefined


getType()

ts
getType(): 
  | "Point"
  | "MultiPoint"
  | "LineString"
  | "MultiLineString"
  | "Polygon"
  | "MultiPolygon"
  | "GeometryCollection";

Defined in: packages/core-libre/src/features/feature.ts:54

几何类型(Point / LineString / Polygon …)

Returns

| "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | "GeometryCollection"


getVisible()

ts
getVisible(): boolean;

Defined in: packages/core-libre/src/features/feature.ts:105

Returns

boolean


off()

ts
off(type, listener): void;

Defined in: packages/core-libre/src/features/feature.ts:172

取消订阅

Parameters

type

FeaturePointerEventType

listener

(evt) => void

Returns

void


on()

ts
on(type, listener): () => void;

Defined in: packages/core-libre/src/features/feature.ts:158

订阅要素级交互事件(click / mouseover / mouseout)。 返回取消订阅函数。仅在要素所属图层位于 GMap 中时触发。

Parameters

type

FeaturePointerEventType

listener

(evt) => void

Returns

() => void


refresh()

ts
protected refresh(): void;

Defined in: packages/core-libre/src/features/feature.ts:195

触发所属图层重新下发数据

Returns

void


setFillColor()

ts
setFillColor(color): void;

Defined in: packages/core-libre/src/features/feature.ts:94

Parameters

color

string

Returns

void


setPath()

ts
setPath(path): void;

Defined in: packages/core-libre/src/features/feature.ts:131

设置路径坐标(线/面)。Polygon 沿用 core 的"单外环"约定(number[][]), 内部包一层环数组写入 GeoJSON Polygon 的 coordinates。

Parameters

path

Position[]

Returns

void


setPositions()

ts
setPositions(position): void;

Defined in: packages/core-libre/src/features/feature.ts:112

设置点坐标(WGS-84;非点几何由子类决定语义)

Parameters

position

Position

Returns

void


setProperty()

ts
setProperty(key, value): void;

Defined in: packages/core-libre/src/features/feature.ts:70

设置任意属性(会触发所属图层刷新)

Parameters

key

string

value

unknown

Returns

void


setStrokeColor()

ts
setStrokeColor(color): void;

Defined in: packages/core-libre/src/features/feature.ts:82

Parameters

color

string

Returns

void


setStrokeWeight()

ts
setStrokeWeight(width): void;

Defined in: packages/core-libre/src/features/feature.ts:88

Parameters

width

number

Returns

void


setVisible()

ts
setVisible(visible): void;

Defined in: packages/core-libre/src/features/feature.ts:102

显隐:通过 HIDDEN_KEY 属性 + 图层过滤实现

Parameters

visible

boolean

Returns

void


toGeoJSON()

ts
toGeoJSON(): Feature;

Defined in: packages/core-libre/src/features/feature.ts:59

序列化为 GeoJSON Feature(注入内部 gid 属性)

Returns

Feature