Appearance
定义
1、具有可自定义弹窗,鼠标点击、鼠标移动时触发 2、可增加同类型的图形 3、可根据 id 删除指定的图形
构造函数
new ShapeLayer(id, symbol)
调用方式 gis.createShapeLayer(id,symbol)
Parameter 入参
| 名称 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | String | 图层 ID | |
| symbol | Symbol | 图形样式 |
属性
| 名称 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| graphics | 所有图形 | Collection | ||
| highlight | 启用关闭高亮 | Boolean |
方法
add addMany removeAll remove
| 方法名 | 说明 | 入参 |
|---|---|---|
| add | 增加图形 | [geometry,attrs?,symbol?] |
| addMany | 增加多个图形 | geometryList |
| update | ? | - |
| delete | 根据 id 删除图形 | 图形 id() |
| clear | 清空图层 | - |
| active | ? | - |
| withMove | 添加鼠标经过时弹窗 | (关键字, 标题, DOM) |
| withClick | 添加点击时弹窗 | (关键字, 标题, DOM) |
事件列表
| 事件名称 | 说明 | 回调参数 |
|---|---|---|
| effect | 点击图形或经过图形时 | [类型, graphic, graphics] |
Collection
ts
const symbol = gis.createSymbol(2, 'solid', '#f00', '#cfc')
const layer = gis.createShapeLayer('temp', symbol)
// id 于 geo格式数据同级,可以用来删除图形
layer.add(geo, 'uid')
layer.add({ rings: rings, id: 'v2' })
// 面
const list = [{ rings: [], id: 'uid' }]
// 线
const list = [{ paths: [], id: 'uid' }]
// 点
const list = [{ x: '', y: '', id: 'uid' }]
layer.addMany(list)
layer.delete('uid')D - 1
ts
var symbol = gis.createSymbol(2, 'cross-cross', '#2e4e7e', '#c93756')
var layer = gis.createShapeLayer('temp', symbol)
data.forEach(function (x) {
return layer.add(x.geometry, x.txBsm)
})
layer.goTo()demo
ts
// 面
export const __polygon = (gis, layer) => {
Array.from([
'none',
'solid',
'backward-diagonal',
'cross-cross',
'diagonal-cross',
'forward-diagonal',
'horizontal',
'vertical'
]).forEach((item) => {
let attrs = {
title: +new Date(),
key1: 'value2'
}
let g = layer.add({ rings }, attrs)
g.symbol = gis.createSymbol(2, item, '#f00', '#cfc')
rings[0].forEach((x) => {
x[0] += 0.016
})
})
}