Drawsee 3D 开发指南

地图图层操作

本节目录

图层介绍

    一幅地图可有两种图层集合构成,即静态图层集合和动态图层集合。每个集合里都有一个到多个图层,图层中存放着某一类型的实体。静态图层即为图库中已经配置好的图层,通常打开地图后显示的就是静态图层。已配置好的静态图层信息将不能被修改。

添加图层

    创建图层主要是使用classFactory类的createDynamiclayer3d方法来创建一个图层对象,然后设置这个图层对象的属性,最后将这个图层插入到动态图层集合中。

    createDynamiclayer3d方法的具体实现如下:

public meEarth20.meLayer3d createDynamicLayer3d()

返回值:meLayer3d类的对象

设置图层属性

    可以使用meLayer3d类提供的属性设置图层信息,例如设置图层名字:

var dynLayer = oEarthViewer.classFacotry.createDynamiclayer3d(); //创建图层
dynLayer.name = "NewLayer" ; //设置图层名称

    最后将图层加入到动态图层集合中,便完成了添加图层的操作

oEarthViewer.dynamicLayers.addlayer(dynLayer); //将刚建立的图层加入到动态图层集合中

图层对象类介绍

    meLayerCollection类提供图层管理的相关方法和属性,具体的方法列表如下:

成员 说明
visible 该图层集合是否可见,设置为false时,集合中所有图层将都不可见
addLayer 添加图层对象
getCount 获得图层个数
getLayer 通过索引获得图层对象
getlayerByName 通过名称获得图层对象
getLayerIndexByName 通过名称获得图层对象的索引
removeAllLayers 移除所有图层
removeLayer 通过索引来移除图层

    下面分别介绍这些方法的用法:

获得图层对象

    如上所示有多种方法可以得到图层对象,有的是通过索引有的是通过名称。这些方法的具体用法如下:

名称 用法 说明
getLayer public meEarth20.meLayer3d getLayer(int) 通过索引号得到图层对象
getLayerByName public meEarth20.meLayer3d getLayerByName(string) 通过图层的名称得到图层对象
getLayerIndexByName public int getlayerIndexByName(string) 通过名称获得图层对象的索引

如:

var layer = oEarthViewer.dynamicLayers.getLayer(0); //获得索引为0的图层对象
alert("图层名称: " + layer.name); //得到该图层对象的名称

删除图层

    删除图层分为移除所有图层和移除指定图层

名称 用法 说明
removeAllLayers public void removeAllLayers() 删除所有图层
removeLayer public void removeLayer(int) 通过索引来移除图层

如:

oEarthViewer.dynamicLayers.removeAllLayers(); //删除所有图层
oEarthViewer.dynamicLayers.removelayer(0); //删除索引为0的图层