地图图层操作
本节目录
图层介绍
一幅地图可有两种图层集合构成,即静态图层集合和动态图层集合。每个集合里都有一个到多个图层,图层中存放着某一类型的实体。静态图层即为图库中已经配置好的图层,通常打开地图后显示的就是静态图层。已配置好的静态图层信息将不能被修改。
添加图层
创建图层主要是使用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的图层