Skip to content

Polygon

Polygon 是 maptalks 的面几何类,继承自 Path。它由一个外环(shell)和若干可选的内环(holes)构成,用于表示多边形区域。

js
import { Polygon } from "maptalks";
// 用法示例
const poly = new Polygon([[0, 0], [0, 10], [10, 10], [10, 0]]);

构造函数

js
new Polygon(coordinates, options?)

参数:

  • coordinates — 多边形的坐标数组,可以是单个外环,也可以是 [外环, 内环1, 内环2, ...] 的形式。
  • options — (可选)配置项。

options 配置项

Polygon 的配置项继承自 Path(基类),主要通过 symbol 控制样式:

配置名类型描述默认值
symbolObject面样式,含 polygonFill/polygonOpacity/lineColor/lineWidth 等
smoothnessNumber平滑程度(贝塞尔平滑)false
enableClipBoolean是否启用裁剪true
enableSimplifyBoolean渲染前是否简化true
simplifyToleranceNumber简化容差2

成员方法

  • setCoordinates(coords) — 设置多边形的坐标。
  • getCoordinates() — 获取多边形的坐标(外环与内环)。
  • getShell() — 获取多边形的外环。
  • getHoles() — 获取多边形的所有内环。
  • hasHoles(): boolean — 判断多边形是否包含内环。
  • getCenterInExtent(extent) — 返回给定 extents 范围内的中心点。
  • getOutline() — 返回多边形的轮廓内容。

静态方法

  • fromJSON(json) — 从 JSON 对象创建 Polygon。

事件

  • shapechange — 当多边形的形状发生变化时触发。