1. LayerManager

1.1. 初始化 new LayerManager(geomap)

图层管理类,用于图层分组,点、线、面、模型、地形、影像、GeoJson、WFS、Shapefile、KML、HTML2CANVAS、CLUSTER等类型图层的创建、获取和删除等操作。

Param Type Description
geomap GeoMap GeoMap对象

Example

var geomap = new BOSGeo.GeoMap('container', {
    requestRenderMode: true //是否实时渲染
});
var layerManager = geomap.layerManager;

1.2. 方法

1.2.1. layerManager.createLayer(layerType, name, options)

创建图层

Returns : Layer -

返回创建的图层对象

Param Type Default Description
layerType LayerType

图层类型;

name String

图层名称;

options Object

其他配置:

[options.customGroupId] String

自定义分组的ID值;

[options.initialShow] Boolean true

创建时图层是否可见。

[options.force] Boolean false

是否强制添加,如果强制会添加到图层列表的根目录

[options.order] Number new Date().getTime()

用于标识图层添加顺序的时间,时间越新越排后

Example

//Example1.创建模型图层,并将该图层添加到图层组id为model1的图层组中
let modelLayer = layerManager.createLayer(BOSGeo.LayerType.MODEL, '建筑BIM',{customGroupId:'model1'});

//Example2.创建影像图层,并将该图层添加到图层列表的根目录中
let imageryLayer = layerManager.createLayer(BOSGeo.LayerType.IMAGERY, '谷歌影像-20210505',{force: true});

1.2.2. layerManager.createGroup(group, parentGroupId) ⇒ Object

创建图层分组

Returns : Object -

返回新建的分组对象

Param Type Description
group Object

分组数据

group.title String

分组名称, 默认为未命名分组

group.id String

分组id 不能为空

group.children Array

分组的子节点数据

parentGroupId String

把新建的组放在哪个组下, 如果为空则放到第一级下

Example

let customGroup = {title: "zz年", id: 'zzYear', children: [{title: '1月', id: '1Month'}, {title: 'zz月', id: 'zzMonth'}]}
let group = layerManager.createGroup(customGroup, parentGroupId)

1.2.3. layerManager.getLayer(layerType, name)

根据图层类型与名称获取对应的图层

Param Type Description
layerType layerType 图层类型
name String 图层名称

Example

var modelLayer = layerManager.getLayer(BOSGeo.LayerType.MODEL, 'testModelLayer');

1.2.4. layerManager.getLayerGroup(layerType)

获取某种类型的所有图层

Returns : Object -

以图层名称与图层对象构成的键值对对象

Param Type Description
layerType LayerType 图层类型

Example

var modelLayers = layerManager.getLayerGroup(BOSGeo.LayerType.MODEL)

1.2.5. layerManager.getLayerTree([exceptDefaultGroup]) ⇒ Object

获取图层树

Kind : instance method of LayerManager
Returns : Object -

返回图层树对象,包含已创建的图层组和已加载的所有图层信息

Param Type Default Description
[exceptDefaultGroup] Boolean false

获取默认图层组之外的图层信息

Example

layerManager.getLayerTree();

1.2.6. layerManager.on(eventType, callBack)

绑定事件

Param Type Description
eventType String | LayerManagerEventType 图层管理器事件类型
callBack function 回调函数

1.2.7. layerManager.fire(eventType, value)

触发事件

Param Type Description
eventType String 监听事件
value * 触发事件时可传入任意值

1.2.8. layerManager.hasOn(eventType, callBack)

判断该函数是否已绑定该事件

Param Type Description
eventType String 监听事件
callBack function 回调函数

1.2.9. layerManager.renameLayerById(layerId, newName)

根据图层id修改图层名称

Param Type Description
layerId String

图层id

newName String

新图层名称

Example

var modelLayer = layerManager.getLayer(modelLayer.id, 'testModelLayer');
layerManager.renameLayer(layerId, 'newTestModelLayer');

1.2.10. layerManager.renameGroupById(groupId, newTitle)

修改分组名称

Param Type Description
groupId String

重命名的分组id, 不能为空

newTitle String

分组新名称

Example

layerManager.renameGroupById(groupId, 'newTitle');

1.2.11. layerManager.removeLayer(layerType, name)

删除图层

Param Type Description
layerType LayerType 图层类型
name String 需要删除的图层名

Example

layerManager.removeLayer(BOSGeo.LayerType.MODEL, 'testModelLayer');

1.2.12. layerManager.remove(layer)

删除图层

Param Type Description
layer Layer 需要删除的图层

Example

var modelLayer = layerManager.getLayer(BOSGeo.LayerType.MODEL, 'testModelLayer');
layerManager.remove(modelLayer);

1.2.13. layerManager.removeAll()

删除所有图层

1.2.14. layerManager.removeCustomLayerGroup(groupId)

移除图层组,并移除所有改图层组下的图层和组

Param Type Description
groupId String 图层组ID

Example

const customLayerGroup  = [
{
    title:'模型',
    id:'model',
    children:[]
},
{
    title:'矢量图层组',
    id:'vector'
},{
    title:'栅格图层组',
    id:'raster'
}
{
    title:'底图',
    id:'map',
    children:[{title:'本地服务',id:'map1'},{title:'地形',id:'map4'}]
}];
//初始化三维引擎
const geomap = new BOSGeo.GeoMap("bosgeoContainer",{
    customLayerGroup, // 设置默认的自定义图层组
    // baseMap: BOSGeo.ImageryMapType.ARCGIS_IMAGERY,
    // date:"2019/10/04 19:00:00"
    // token: tokenStr,
});
//layerManager.initCustomLayerTree(customLayerGroup);//该方法已私有化,在GeoMap类实例化时调用
setTimeout(() => {        
    geomap.layerManager.removeCustomLayerGroup('map');
}, 30000);
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-07-19 11:34:25

results matching ""

    No results matching ""