类: Geometry

(abstract) Geometry

几何对象类型基础类


构造

(abstract) new Geometry(type)

构造函数

参数
名称 类型 缺省值 说明
type GGeometryType

成员

名称 说明
_focus

是否激活状态

addStyle

附加样式

coords

坐标

ctrlBorder

边框对象(在getBorder()时构造该对象)

ctrlBorderProp

控制外框属性,缺省控制外框包含了9个点,对于某些几何对象可能不需要这么多控制点,可通过该属性控制

properties

属性

rotation

旋转属性

shapeType

GGShapeType

style

样式

type

GGeometryType

uid

对象ID

方法列表

名称 说明
clone()

克隆对象

contain(point, useCoord)

判断某点是否在当前对象的边框内,拾取时可根据此返回值判断是否被拾取到

draw(ctx, style, frameState)

绘制对象图形

drawBorder(ctx, style)

绘制控制外框

drawHitBlock()

绘制拾取颜色块

drawPolyline(ctx, pixels, isClosePath)

绘制折线

getBBox(useCoord)

获取对象边界

getBBoxInsideSymbol(useCoord)

获取符号内部的对象边界

getBorder()

获取控制外框对象

getColor(param, ctx)

获取填充/描边的颜色值或特殊效果

getCoord()

获取对象坐标

getGeoJSONCoord()

获取对象GeoJSON坐标

getGeoJSONProperties()

获取对象GeoJSON属性

getGeoJSONType()

获取对象GeoJSON类型

getPixel()

屏幕像素坐标

getRenderStyle()

获取对象的附加样式

getShapeType()

获取几何类型(点、线、面)

getStyle()

获取对象样式

getType()

获取对象类型

getUid()

获取对象ID

initialize()

初始化, 通过options赋值给属性

isFocus()

对象是否具有焦点 具有焦点的对象将会绘制外框,通常在编辑的时候需激活对象,然后进行编辑

moveTo(dx, dy)

将对象移动至某点

prop(propName, propValue)

修改对象属性值

renderRotate(ctx, rotateArr)

旋转画板

renderTransform(ctx, transData)

画布矩阵变换 渲染时根据对象的transData属性变换画板

rotate(angle, opt_anchor)

对象旋转

scale(sx, opt_sy, opt_anchor)

对象缩放

setContextStyle(ctx, style)

设置画板样式

setCoord(coord)

设置对象坐标位置

setFocus(bool)

设置对象焦点

setPixel(pixel)

设置对象像素位置

setRenderStyle(style)

设置对象的附加样式

setStyle(style)

设置对象样式

strokeAndFill(style)

描边和填充

styleToPixel(tool)

样式中的某些属性转换为屏幕坐标

toData()

获取当前对象属性

toGeoJSON()

转换为GeoJSON格式坐标

toPixel(tool)

转换为屏幕坐标

toString()

获取对象字符串

toWKT()

well-known text https://www.cnblogs.com/duanxingxing/p/5144257.html

transform(matrix)

坐标变换,将几何图形的每个坐标从一个坐标参考系转换到另一个坐标参照系 对象实例化之后,访问该方法可变换当前对象的坐标等信息 注意: 缩放操作需同比例缩放宽高、字体大小等信息,因此 1 由于某些子类的坐标信息中描述了长度信息(例如:宽、高、半径等),这类子类需要重写该方法,重新计算描述长度的信息 2 Text对象中的fontSize需进行同比例缩放 3 Image对象中的图形宽高需同比例缩放

translate(dx, dy)

对象平移

详细说明


clone()

克隆对象

返回值

Geometry


(abstract) contain(point, useCoord)

判断某点是否在当前对象的边框内,拾取时可根据此返回值判断是否被拾取到

参数
名称 类型 缺省值 说明
point Coord

点坐标

useCoord Boolean true

是否像素坐标

返回值

Boolean


(abstract) draw(ctx, style, frameState)

绘制对象图形

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
style Object
frameState Object

视图信息{resolution, zoom, extent, center}


drawBorder(ctx, style)

绘制控制外框

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
style Object

drawHitBlock()

绘制拾取颜色块


drawPolyline(ctx, pixels, isClosePath)

绘制折线

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
pixels Array
isClosePath Boolean false

(abstract) getBBox(useCoord)

获取对象边界

参数
名称 类型 缺省值 说明
useCoord Boolean true

为true时返回坐标Bound,为false时返回屏幕像素Bound

返回值

extent

Type
Extent

(abstract) getBBoxInsideSymbol(useCoord)

获取符号内部的对象边界

参数
名称 类型 缺省值 说明
useCoord Boolean true

为true时返回坐标Bound,为false时返回屏幕像素Bound

返回值

extent

Type
Extent

getBorder()

获取控制外框对象

返回值

GeomBorder 具有焦点时控制外框对象


getColor(param, ctx)

获取填充/描边的颜色值或特殊效果

参数
名称 类型 缺省值 说明
param String | Object
ctx CanvasRenderingContext2D
返回值

如果颜色值为字符串则直接返回颜色,如果颜色值为对象则返回创建的渐变对象


getCoord()

获取对象坐标

返回值

坐标数组


getGeoJSONCoord()

获取对象GeoJSON坐标

返回值

坐标数组


getGeoJSONProperties()

获取对象GeoJSON属性

返回值

属性信息


getGeoJSONType()

获取对象GeoJSON类型

返回值

类型名称


getPixel()

屏幕像素坐标

返回值

屏幕像素坐标数组


getRenderStyle()

获取对象的附加样式

返回值

Object


getShapeType()

获取几何类型(点、线、面)

返回值

String


getStyle()

获取对象样式

返回值

style


getType()

获取对象类型

返回值

GGeometryType类型


getUid()

获取对象ID


initialize()

初始化, 通过options赋值给属性


isFocus()

对象是否具有焦点 具有焦点的对象将会绘制外框,通常在编辑的时候需激活对象,然后进行编辑

返回值

boolean


moveTo(dx, dy)

将对象移动至某点

参数
名称 类型 缺省值 说明
dx number 0
dy number 0

prop(propName, propValue)

修改对象属性值

参数
名称 类型 缺省值 说明
propName *
propValue *

renderRotate(ctx, rotateArr)

旋转画板

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
rotateArr Array

[angle, originX, originY]


renderTransform(ctx, transData)

画布矩阵变换 渲染时根据对象的transData属性变换画板

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
transData Array

[{"action":"translate", "value":[5, 5], "scaleValue":[100, 100]}, {"action":"scale", "value":[2, 2]}, {"action":"rotate", "value":30, "origin":[0, 0], "originPixel":[0, 0]}]


rotate(angle, opt_anchor)

对象旋转

参数
名称 类型 缺省值 说明
angle *
opt_anchor *

scale(sx, opt_sy, opt_anchor)

对象缩放

参数
名称 类型 缺省值 说明
sx *
opt_sy *
opt_anchor *

setContextStyle(ctx, style)

设置画板样式

参数
名称 类型 缺省值 说明
ctx CanvasRenderingContext2D
style Object

setCoord(coord)

设置对象坐标位置

参数
名称 类型 缺省值 说明
coord Coord

setFocus(bool)

设置对象焦点

参数
名称 类型 缺省值 说明
bool Boolean

setPixel(pixel)

设置对象像素位置

参数
名称 类型 缺省值 说明
pixel Coord

setRenderStyle(style)

设置对象的附加样式

参数
名称 类型 缺省值 说明
style Object

setStyle(style)

设置对象样式

参数
名称 类型 缺省值 说明
style Object

strokeAndFill(style)

描边和填充

参数
名称 类型 缺省值 说明
style Object

styleToPixel(tool)

样式中的某些属性转换为屏幕坐标

参数
名称 类型 缺省值 说明
tool Object

toData()

获取当前对象属性

返回值

Object


(abstract) toGeoJSON()

转换为GeoJSON格式坐标

返回值

JS对象


toPixel(tool)

转换为屏幕坐标

参数
名称 类型 缺省值 说明
tool Transform | Ratio

变化矩阵


toString()

获取对象字符串

返回值

坐标数组


toWKT()

well-known text https://www.cnblogs.com/duanxingxing/p/5144257.html


transform(matrix)

坐标变换,将几何图形的每个坐标从一个坐标参考系转换到另一个坐标参照系 对象实例化之后,访问该方法可变换当前对象的坐标等信息 注意: 缩放操作需同比例缩放宽高、字体大小等信息,因此 1 由于某些子类的坐标信息中描述了长度信息(例如:宽、高、半径等),这类子类需要重写该方法,重新计算描述长度的信息 2 Text对象中的fontSize需进行同比例缩放 3 Image对象中的图形宽高需同比例缩放

参数
名称 类型 缺省值 说明
matrix Transform

translate(dx, dy)

对象平移

参数
名称 类型 缺省值 说明
dx *
dy *