Polygon
此类表示一个多边形覆盖物。
构造函数
| 构造函数 | 描述 |
|---|---|
| Polygon(points: Array<Point>, opts: PolygonOptions) | 创建多边形覆盖物 |
PolygonOptions
| 属性名 | 类型 | 描述 |
|---|---|---|
| strokeColor | String | 边线颜色 |
| fillColor | String | 填充颜色。当参数为空时,折线覆盖物将没有填充效果 |
| strokeWeight | Number | 边线的宽度,以像素为单位 |
| strokeOpacity | Number | 边线透明度,取值范围0 - 1 |
| fillOpacity | Number | 填充的透明度,取值范围0 - 1 |
| strokeStyle | String | 边线的样式,solid或dashed |
| enableMassClear | Boolean | 是否在调用map.clearOverlays清除此覆盖物,默认为true |
| enableEditing | Boolean | 是否启用线编辑,默认为false |
| enableClicking | Boolean | 是否响应点击事件,默认为true |
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| setPath(path: Array<Point>) | none | 设置多边型的点数组 |
| getPath() | Array<Point> | 返回多边型的点数组 |
| setStrokeColor(color: String) | none | 设置多边型的边线颜色,参数为合法的CSS颜色值 |
| getStrokeColor() | String | 返回多边型的边线颜色 |
| setFillColor(color: String) | none | 设置多边形的填充颜色,参数为合法的CSS颜色值。当参数为空字符串时,折线覆盖物将没有填充效果 |
| getFillColor() | String | 返回多边形的填充颜色 |
| setStrokeOpacity(opacity: Number) | none | 设置多边形的边线透明度,取值范围0 - 1 |
| getStrokeOpacity() | Number | 返回多边形的边线透明度 |
| setFillOpacity(opacity: Number) | none | 设置多边形的填充透明度,取值范围0 - 1 |
| getFillOpacity() | Number | 返回多边形的填充透明度 |
| setStrokeWeight(weight: Number) | none | 设置多边形边线的宽度,取值为大于等于1的整数 |
| getStrokeWeight() | Number | 返回多边形边线的宽度 |
| setStrokeStyle(style: String) | none | 设置多边形边线样式为实线或虚线,取值solid或dashed |
| getStrokeStyle() | String | 返回多边形边线样式 |
| getBounds() | Bounds | 返回覆盖物的地理区域范围 |
| enableEditing() | none | 开启编辑功能 |
| disableEditing() | none | 关闭编辑功能 |
| enableMassClear() | none | 允许覆盖物在map.clearOverlays方法中被清除 |
| disableMassClear() | none | 禁止覆盖物在map.clearOverlays方法中被清除 |
| setPositionAt(index: Number, point: Point) | none | 修改指定位置的坐标。索引index从0开始计数 |
| getMap() | Map | 返回覆盖物所在的map对象 |
| addEventListener(event: String, handler: Function) | none | 添加事件监听函数 |
| removeEventListener(event: String, handler: Function) | none | 移除事件监听函数 |
示例
ts
const points = [
new BMapGL.Point(116.399, 39.910),
new BMapGL.Point(116.405, 39.920),
new BMapGL.Point(116.425, 39.900)
];
const polygon = new BMapGL.Polygon(points, {
strokeColor: '#FF0000',
fillColor: '#00FF00',
strokeWeight: 2,
strokeOpacity: 0.8,
fillOpacity: 0.5
});
map.addOverlay(polygon);