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
})
})
}