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(); }
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 Layer
add(Dataset dataset, boolean addToHead)
用于把一个数据集添加到此图层集合作为一个普通图层显示,即创建一个普通图层。Layer
add(Dataset dataset, Theme theme, boolean addToHead)
用于将一个数据集添加到此图层集合作为一个专题图层显示,即创建一个专题图层,并指定专题图层的专题图对象。void
add(Datasource datasource, java.lang.String strSLDFilePath)
通过SLD文件,向图层集合中添加图层boolean
add(Layer layer)
向图层集合中添加一个图层,主要用于将图层分组中的图层移出到图层集合中。LayerGridAggregation
addGridAggregation(Dataset dataset)
根据给定的点数据集制作一幅默认网格图LayerGridAggregation
addGridAggregation(Dataset dataset, Color maxColor, Color minColor)
根据给定的点数据集和参数设置制作一幅网格图LayerGroup
addGroup(java.lang.String groupName)
向图层集合中添加一个分组图层。LayerHeatmap
addHeatmap(Dataset dataset, int kernelRadius)
根据给定的点数据集和参数设置制作一幅热力图LayerHeatmap
addHeatmap(Dataset dataset, int kernelRadius, Color maxColor, Color minColor)
根据给定的点数据集和参数设置制作一幅热力图void
addLayerAddedListener(LayerAddedListener l)
添加一个用于接收图层被添加事件LayerAddedEvent
的监听器。void
addLayerGroupAddedListener(LayerGroupAddedListener l)
添加一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent
的监听器。void
addLayerGroupRemovedListener(LayerGroupRemovedListener l)
添加一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent
的监听器。void
addLayerRemovedListener(LayerRemovedListener l)
添加一个用于接收图层被删除事件LayerRemovedEvent
的监听器。void
clear()
删除此图层集合对象中所有的图层。boolean
contains(java.lang.String name)
判定此图层集合对象是否包含指定名称的图层。Layer
find(java.lang.String name)
在图层组中找图层Layer
get(int index)
返回此图层集合中指定索引的图层对象。Layer
get(java.lang.String name)
返回此图层集合中指定名称的图层对象。java.lang.String[]
getAllSubLayersTitle()
获取所有图层标题的集合,返回字符串数组(针对OGC服务)Layer
getByCaption(java.lang.String caption)
获取指定别名的图层int
getCount()
返回此图层集合中图层对象的总数。int
indexOf(java.lang.String name)
返回此图层集合中指定名称的图层的索引。int
indexOfByCaption(java.lang.String caption)
通过图层别名,获取图层索引Layer
insert(int index, Dataset dataset)
用于把一个数据集插入到此图层集合中作为一个普通图层显示。boolean
insert(int index, Layer layer)
向图层集合中的指定索引位置插入一个图层,主要用于将图层分组中的图层移出到图层集合中。Layer
insert(int index, java.lang.String strXML)
插入图层LayerGroup
insertGroup(int index, java.lang.String groupName)
向图层集合中插入一个分组图层。boolean
moveDown(int index)
将此图层集合中指定索引的图层往下移动一层。boolean
moveTo(int srcIndex, int desIndex)
将此图层集合中的指定索引的图层移动到指定的目标索引。boolean
moveToBottom(int index)
将此图层集合中指定索引的图层移动到最底层。boolean
moveToTop(int index)
将此图层集合中指定索引的图层移动到最顶层。boolean
moveUp(int index)
将此图层集合中指定索引的图层往上移动一层。boolean
remove(int index)
从此图层集合中删除一个指定索引的图层。boolean
remove(Layer layer)
从图层集合中移除一个指定的图层。boolean
remove(java.lang.String name)
从此图层集合中删除一个指定名称的图层。boolean
removeGroup(LayerGroup group)
从图层集合中移除指定的分组图层。void
removeLayerAddedListener(LayerAddedListener l)
移除一个用于接收图层被添加事件LayerAddedEvent
的监听器。void
removeLayerGroupAddedListener(LayerGroupAddedListener l)
移除一个用于接收向图层集合中添加分组图层结束事件LayerGroupAddedEvent
的监听器。void
removeLayerGroupRemovedListener(LayerGroupRemovedListener l)
移除一个用于接收从图层集合移除分组图层结束事件LayerGroupRemovedEvent
的监听器。void
removeLayerRemovedListener(LayerRemovedListener l)
移除一个用于接收图层被删除事件LayerRemovedEvent
的监听器。boolean
removeLayersStateListener(LayersStateListener listener)
移除一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。int
removeRange(int startIndex, int count)
在此图层集合中从指定索引开始删除指定个数的图层。void
setLayersStateListener(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
- 名称- 返回:
- 图层
-
-