com.supermap.mapping
类 Layers
- java.lang.Object
-
- com.supermap.mapping.Layers
-
public class Layers extends java.lang.Object图层集合类。该类对一个地图对象中的所有图层进行管理。一个图层集合对象中可包含各种类型的普通图层和专题图层,并且提供普通图层的创建方法。
该类中提供了图层的添加、删除以及查找等的方法,并且可以设置图层为可编辑或不可编辑。同时,图层集合对象允许其中的多个图层同时处于可编辑状态, 这样可以同时对多个图层进行编辑,从而提高工作效率。
- Example:
- 以下代码示范了使用图层集合类对图层进行清除、添加、删除等操作。
public void layersTest() { // 返回 captial、world、ocean 数据集 String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); Workspace workspace = new Workspace(); WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(); workspaceConnectionInfo.setServer(rootPath + "/SampleData/World/World.smwu"); workspaceConnectionInfo.setType(WorkspaceType.SMWU); workspace.open(workspaceConnectionInfo); Datasource datasource = workspace.getDatasources().get(0); Dataset dataset0 = datasource.getDatasets().get("capital"); Dataset dataset1 = datasource.getDatasets().get("world"); Dataset dataset2 = datasource.getDatasets().get("ocean"); // 打开地图 Map map = new Map(workspace); map.open(workspace.getMaps().get(0)); map.refresh(); // 返回图层集合 Layers layers = map.getLayers(); // 对图层集合进行操作,包括清除、添加、删除等 layers.clear(); layers.add(dataset1, true); layers.add(dataset0, true); layers.add(dataset2, true); System.out.println(layers.getCount()); layers.remove(2); System.out.println(layers.getCount()); // 释放资源 map.close(); datasourceConnectInfo.dispose(); workspace.dispose(); }
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 Layeradd(Dataset dataset, boolean addToHead)用于把一个数据集添加到此图层集合作为一个普通图层显示,即创建一个普通图层。Layeradd(Dataset dataset, Theme theme, boolean addToHead)用于将一个数据集添加到此图层集合作为一个专题图层显示,即创建一个专题图层,并指定专题图层的专题图对象。voidadd(Datasource datasource, java.lang.String strSLDFilePath)通过SLD文件,向图层集合中添加图层booleanadd(Layer layer)向图层集合中添加一个图层,主要用于将图层分组中的图层移出到图层集合中。LayerGridAggregationaddGridAggregation(Dataset dataset)根据给定的点数据集制作一幅默认网格图LayerGridAggregationaddGridAggregation(Dataset dataset, Color maxColor, Color minColor)根据给定的点数据集和参数设置制作一幅网格图LayerGroupaddGroup(java.lang.String groupName)向图层集合中添加一个分组图层。LayerHeatmapaddHeatmap(Dataset dataset, int kernelRadius)根据给定的点数据集和参数设置制作一幅热力图LayerHeatmapaddHeatmap(Dataset dataset, int kernelRadius, Color maxColor, Color minColor)根据给定的点数据集和参数设置制作一幅热力图voidaddLayerAddedListener(LayerAddedListener l)添加一个用于接收图层被添加事件LayerAddedEvent的监听器。voidaddLayerGroupAddedListener(LayerGroupAddedListener l)添加一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent的监听器。voidaddLayerGroupRemovedListener(LayerGroupRemovedListener l)添加一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent的监听器。voidaddLayerRemovedListener(LayerRemovedListener l)添加一个用于接收图层被删除事件LayerRemovedEvent的监听器。voidclear()删除此图层集合对象中所有的图层。booleancontains(java.lang.String name)判定此图层集合对象是否包含指定名称的图层。Layerfind(java.lang.String name)在图层组中找图层Layerget(int index)返回此图层集合中指定索引的图层对象。Layerget(java.lang.String name)返回此图层集合中指定名称的图层对象。java.lang.String[]getAllSubLayersTitle()获取所有图层标题的集合,返回字符串数组(针对OGC服务)LayergetByCaption(java.lang.String caption)获取指定别名的图层intgetCount()返回此图层集合中图层对象的总数。intindexOf(java.lang.String name)返回此图层集合中指定名称的图层的索引。intindexOfByCaption(java.lang.String caption)通过图层别名,获取图层索引Layerinsert(int index, Dataset dataset)用于把一个数据集插入到此图层集合中作为一个普通图层显示。booleaninsert(int index, Layer layer)向图层集合中的指定索引位置插入一个图层,主要用于将图层分组中的图层移出到图层集合中。Layerinsert(int index, java.lang.String strXML)插入图层LayerGroupinsertGroup(int index, java.lang.String groupName)向图层集合中插入一个分组图层。booleanmoveDown(int index)将此图层集合中指定索引的图层往下移动一层。booleanmoveTo(int srcIndex, int desIndex)将此图层集合中的指定索引的图层移动到指定的目标索引。booleanmoveToBottom(int index)将此图层集合中指定索引的图层移动到最底层。booleanmoveToTop(int index)将此图层集合中指定索引的图层移动到最顶层。booleanmoveUp(int index)将此图层集合中指定索引的图层往上移动一层。booleanremove(int index)从此图层集合中删除一个指定索引的图层。booleanremove(Layer layer)从图层集合中移除一个指定的图层。booleanremove(java.lang.String name)从此图层集合中删除一个指定名称的图层。booleanremoveGroup(LayerGroup group)从图层集合中移除指定的分组图层。voidremoveLayerAddedListener(LayerAddedListener l)移除一个用于接收图层被添加事件LayerAddedEvent的监听器。voidremoveLayerGroupAddedListener(LayerGroupAddedListener l)移除一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent的监听器。voidremoveLayerGroupRemovedListener(LayerGroupRemovedListener l)移除一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent的监听器。voidremoveLayerRemovedListener(LayerRemovedListener l)移除一个用于接收图层被删除事件LayerRemovedEvent的监听器。booleanremoveLayersStateListener(LayersStateListener listener)移除一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。intremoveRange(int startIndex, int count)在此图层集合中从指定索引开始删除指定个数的图层。voidsetLayersStateListener(LayersStateListener listener)添加一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。
-
-
-
方法详细资料
-
add
public Layer add(Dataset dataset, boolean addToHead)
用于把一个数据集添加到此图层集合作为一个普通图层显示,即创建一个普通图层。其风格由系统默认设置。- 参数:
dataset- 要添加到图层的数据集。addToHead- 指定新创建图层是否放在图层集合的最上面一层。当设置为 false 时,则将此新创建图层放在最底层。- 返回:
- 新添加的图层。
- Example:
- 请参见
Layers类的示例。
-
add
public Layer add(Dataset dataset, Theme theme, boolean addToHead)
用于将一个数据集添加到此图层集合作为一个专题图层显示,即创建一个专题图层,并指定专题图层的专题图对象。注意专题图层的专题图对象一旦指定,则不可更改为其他类型的专题图对象。例如创建时指定该图层的专题图对象为范围专题图对象,则之后不可以将其改为标签专题图或统计专题图等其他专题图对象。
- 参数:
dataset- 要添加到图层的数据集。theme- 指定此专题图层的专题图对象。addToHead- 指定新创建图层是否放在图层集合的最上面一层。当设置为 false 时,则将此新创建图层放在最底层。- 返回:
- 新添加的专题图层。
- Example:
- 请参见
Layers类的示例。
-
getCount
public int getCount()
返回此图层集合中图层对象的总数。- 返回:
- 此图层集合中图层对象的总数。
- Default:
- 默认值为 0,即图层集合中没有图层对象。
-
removeRange
public int removeRange(int startIndex, int count)在此图层集合中从指定索引开始删除指定个数的图层。返回删除的图层个数。- 参数:
startIndex- 要删除的图层的起始索引。count- 要删除的图层个数。- 返回:
- 删除的图层数。
-
remove
public boolean remove(int index)
从此图层集合中删除一个指定索引的图层。删除成功则返回 true。- 参数:
index- 要删除的图层的索引。- 返回:
- 删除成功则返回 true,否则返回 false。
- Example:
- 请参见
Layers类的示例。
-
remove
public boolean remove(java.lang.String name)
从此图层集合中删除一个指定名称的图层。删除成功则返回 true。- 参数:
name- 要删除图层的名称。- 返回:
- 删除成功则返回 true,否则返回 false。
-
clear
public void clear()
删除此图层集合对象中所有的图层。- Example:
- 请参见
Layers类的示例。
-
get
public Layer get(java.lang.String name)
返回此图层集合中指定名称的图层对象。- 参数:
name- 要返回的图层的名称。- 返回:
- 此图层集合中指定名称的图层对象。
- Example:
- 请参见
Layer的示例。
-
get
public Layer get(int index)
返回此图层集合中指定索引的图层对象。图层集合中图层的索引从 0 开始,从顶层开始依次编号。- 参数:
index- 要返回的图层的索引。- 返回:
- 此图层集合中指定索引的图层对象。
-
indexOf
public int indexOf(java.lang.String name)
返回此图层集合中指定名称的图层的索引。- 参数:
name- 要查找的图层的名称。- 返回:
- 找到指定图层则返回图层索引,否则返回-1。
-
insert
public Layer insert(int index, Dataset dataset)
用于把一个数据集插入到此图层集合中作为一个普通图层显示。- 参数:
index- 插入的数据集在图层中的索引。dataset- 待插入的数据集。- 返回:
- 新插入的图层。
-
setLayersStateListener
public void setLayersStateListener(LayersStateListener listener)
添加一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。- 参数:
listener- 一个用于接收图层集合变化事件的监听器。
-
removeLayersStateListener
public boolean removeLayersStateListener(LayersStateListener listener)
移除一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。- 参数:
listener- 一个用于接收图层集合变化事件的监听器。- 返回:
- 若移除该监听器则返回 true,否则返回 false。
-
contains
public boolean contains(java.lang.String name)
判定此图层集合对象是否包含指定名称的图层。- 参数:
name- 可能包含在此图层集合中的图层对象的名称。- 返回:
- 若此图层中包含指定名称的图层则返回 true,否则返回 false。
-
moveToTop
public boolean moveToTop(int index)
将此图层集合中指定索引的图层移动到最顶层。- 参数:
index- 要移动到最顶层的图层的索引。- 返回:
- 移动成功返回 true,否则返回 false。
-
moveToBottom
public boolean moveToBottom(int index)
将此图层集合中指定索引的图层移动到最底层。- 参数:
index- 要移动到最底层的图层的索引。- 返回:
- 移动成功返回 true,否则返回 false。
-
moveUp
public boolean moveUp(int index)
将此图层集合中指定索引的图层往上移动一层。- 参数:
index- 要移动的图层的索引。- 返回:
- 移动成功返回 true,否则返回 false。
-
moveDown
public boolean moveDown(int index)
将此图层集合中指定索引的图层往下移动一层。- 参数:
index- 要移动的图层的索引。- 返回:
- 移动成功返回 true,否则返回 false。
-
moveTo
public boolean moveTo(int srcIndex, int desIndex)将此图层集合中的指定索引的图层移动到指定的目标索引。- 参数:
srcIndex- 要移动图层的原索引。desIndex- 图层要移动到的目标索引。- 返回:
- 移动成功返回 true,否则返回 false。
-
addGroup
public LayerGroup addGroup(java.lang.String groupName)
向图层集合中添加一个分组图层。- 参数:
groupName- 分组图层的显示名称。- 返回:
- 返回新添加的分组图层。
-
insertGroup
public LayerGroup insertGroup(int index, java.lang.String groupName)
向图层集合中插入一个分组图层。- 参数:
index- 指定的插入分组图层的位置。groupName- 分组图层的显示名称。- 返回:
- 插入的分组图层。
-
removeGroup
public boolean removeGroup(LayerGroup group)
从图层集合中移除指定的分组图层。- 参数:
group- 指定的要移除的分组图层。- 返回:
- 一个布尔值,指示移除分组图层是否成功,true表示成功,false表示失败。
-
add
public boolean add(Layer layer)
向图层集合中添加一个图层,主要用于将图层分组中的图层移出到图层集合中。如果图层已经存在,则不添加到图层集合中,并返回false。- 参数:
layer- 指定的要添加的图层。- 返回:
- 一个布尔值,指示添加图层是否成功,true表示成功,false表示失败。
-
insert
public boolean insert(int index, Layer layer)向图层集合中的指定索引位置插入一个图层,主要用于将图层分组中的图层移出到图层集合中。如果图层已经存在,则不添加到图层集合中,并返回false。- 参数:
index- 指定的插入图层的索引位置。layer- 指定的要插入的图层。- 返回:
- 一个布尔值,指示插入图层是否成功,true表示成功,false表示失败。
-
remove
public boolean remove(Layer layer)
从图层集合中移除一个指定的图层。- 参数:
layer- 指定的要移除的图层。- 返回:
- 一个布尔值,指示移除图层是否成功,true表示成功,false表示失败。
-
addLayerGroupAddedListener
public void addLayerGroupAddedListener(LayerGroupAddedListener l)
添加一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent的监听器。- 参数:
l- 一个用于接收向图层集合中添加分组图层结束事件的监听器。
-
removeLayerGroupAddedListener
public void removeLayerGroupAddedListener(LayerGroupAddedListener l)
移除一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent的监听器。- 参数:
l- 一个用于接收向图层集合中添加分组图层结束事件的监听器。
-
addLayerGroupRemovedListener
public void addLayerGroupRemovedListener(LayerGroupRemovedListener l)
添加一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent的监听器。- 参数:
l- 一个用于接收从图层集合移除分组图层结束事件的监听器。
-
removeLayerGroupRemovedListener
public void removeLayerGroupRemovedListener(LayerGroupRemovedListener l)
移除一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent的监听器。- 参数:
l- 一个用于接收从图层集合移除分组图层结束事件的监听器。
-
addLayerAddedListener
public void addLayerAddedListener(LayerAddedListener l)
添加一个用于接收图层被添加事件LayerAddedEvent的监听器。- 参数:
l- 一个用于接收图层被添加事件的监听器。
-
removeLayerAddedListener
public void removeLayerAddedListener(LayerAddedListener l)
移除一个用于接收图层被添加事件LayerAddedEvent的监听器。- 参数:
l- 一个用于接收图层被添加事件的监听器。
-
addLayerRemovedListener
public void addLayerRemovedListener(LayerRemovedListener l)
添加一个用于接收图层被删除事件LayerRemovedEvent的监听器。- 参数:
l- 一个用于接收图层被删除事件的监听器。
-
removeLayerRemovedListener
public void removeLayerRemovedListener(LayerRemovedListener l)
移除一个用于接收图层被删除事件LayerRemovedEvent的监听器。- 参数:
l- 一个用于接收图层被删除事件的监听器。
-
add
public void add(Datasource datasource, java.lang.String strSLDFilePath)
通过SLD文件,向图层集合中添加图层- 参数:
datasource- 数据所在的数据源strSLDFilePath- SLD文件路径
-
getAllSubLayersTitle
public java.lang.String[] getAllSubLayersTitle()
获取所有图层标题的集合,返回字符串数组(针对OGC服务)- 返回:
- String[] 所有图层标题的集合
-
getByCaption
public Layer getByCaption(java.lang.String caption)
获取指定别名的图层- 参数:
caption- 图层别名- 返回:
- 查找到的图层
-
indexOfByCaption
public int indexOfByCaption(java.lang.String caption)
通过图层别名,获取图层索引- 参数:
caption- 图层别名- 返回:
- 图层索引
-
addHeatmap
public LayerHeatmap addHeatmap(Dataset dataset, int kernelRadius)
根据给定的点数据集和参数设置制作一幅热力图- 参数:
dataset- 参与制作的热力图的数据,该数据必须为点矢量数据集kernelRadius- 用于计算密度的查找半径- 返回:
- 热力图图层
-
addHeatmap
public LayerHeatmap addHeatmap(Dataset dataset, int kernelRadius, Color maxColor, Color minColor)
根据给定的点数据集和参数设置制作一幅热力图- 参数:
dataset- 参与制作的热力图的数据,该数据必须为点矢量数据集kernelRadius- 用于计算密度的查找半径maxColor- 高点密度的颜色minColor- 低点密度的颜色- 返回:
- 热力图图层
-
addGridAggregation
public LayerGridAggregation addGridAggregation(Dataset dataset)
根据给定的点数据集制作一幅默认网格图- 参数:
dataset- 点数据集- 返回:
- 网格图
-
addGridAggregation
public LayerGridAggregation addGridAggregation(Dataset dataset, Color maxColor, Color minColor)
根据给定的点数据集和参数设置制作一幅网格图- 参数:
dataset- 点数据集maxColor- 高点密度的颜色minColor- 低点密度的颜色- 返回:
- 网格图
-
insert
public Layer insert(int index, java.lang.String strXML)
插入图层- 参数:
index- 索引strXML- xml图层数据- 返回:
- 图层
-
find
public Layer find(java.lang.String name)
在图层组中找图层- 参数:
name- 名称- 返回:
- 图层
-
-