public class Layers
extends java.lang.Object
一个图层集合对象中可包含各种类型的普通图层和专题图层,并且提供普通图层的创建方法。
该类中提供了图层的添加、删除以及查找等的方法,并且可以设置图层为可编辑或不可编辑。同时,图层集合对象允许其中的多个图层同时处于可编辑状态, 这样可以同时对多个图层进行编辑,从而提高工作效率。
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)
添加一个用于接收图层被添加、修改编辑状态、修改可见性、修改图层别名等事件的监听器。
|
public Layer add(Dataset dataset, boolean addToHead)
dataset
- 要添加到图层的数据集。addToHead
- 指定新创建图层是否放在图层集合的最上面一层。当设置为 false 时,则将此新创建图层放在最底层。Layers
类的示例。public Layer add(Dataset dataset, Theme theme, boolean addToHead)
注意专题图层的专题图对象一旦指定,则不可更改为其他类型的专题图对象。例如创建时指定该图层的专题图对象为范围专题图对象,则之后不可以将其改为标签专题图或统计专题图等其他专题图对象。
dataset
- 要添加到图层的数据集。theme
- 指定此专题图层的专题图对象。addToHead
- 指定新创建图层是否放在图层集合的最上面一层。当设置为 false 时,则将此新创建图层放在最底层。Layers
类的示例。public int getCount()
public int removeRange(int startIndex, int count)
startIndex
- 要删除的图层的起始索引。count
- 要删除的图层个数。public boolean remove(int index)
index
- 要删除的图层的索引。Layers
类的示例。public boolean remove(java.lang.String name)
name
- 要删除图层的名称。public void clear()
Layers
类的示例。public Layer get(java.lang.String name)
name
- 要返回的图层的名称。Layer
的示例。public Layer get(int index)
index
- 要返回的图层的索引。public int indexOf(java.lang.String name)
name
- 要查找的图层的名称。public Layer insert(int index, Dataset dataset)
index
- 插入的数据集在图层中的索引。dataset
- 待插入的数据集。public void setLayersStateListener(LayersStateListener listener)
listener
- 一个用于接收图层集合变化事件的监听器。public boolean removeLayersStateListener(LayersStateListener listener)
listener
- 一个用于接收图层集合变化事件的监听器。public boolean contains(java.lang.String name)
name
- 可能包含在此图层集合中的图层对象的名称。public boolean moveToTop(int index)
index
- 要移动到最顶层的图层的索引。public boolean moveToBottom(int index)
index
- 要移动到最底层的图层的索引。public boolean moveUp(int index)
index
- 要移动的图层的索引。public boolean moveDown(int index)
index
- 要移动的图层的索引。public boolean moveTo(int srcIndex, int desIndex)
srcIndex
- 要移动图层的原索引。desIndex
- 图层要移动到的目标索引。public LayerGroup addGroup(java.lang.String groupName)
groupName
- 分组图层的显示名称。public LayerGroup insertGroup(int index, java.lang.String groupName)
index
- 指定的插入分组图层的位置。groupName
- 分组图层的显示名称。public boolean removeGroup(LayerGroup group)
group
- 指定的要移除的分组图层。public boolean add(Layer layer)
layer
- 指定的要添加的图层。public boolean insert(int index, Layer layer)
index
- 指定的插入图层的索引位置。layer
- 指定的要插入的图层。public boolean remove(Layer layer)
layer
- 指定的要移除的图层。public void addLayerGroupAddedListener(LayerGroupAddedListener l)
LayerGroupAddedEvent
的监听器。l
- 一个用于接收向图层集合中添加分组图层结束事件的监听器。public void removeLayerGroupAddedListener(LayerGroupAddedListener l)
LayerGroupAddedEvent
的监听器。l
- 一个用于接收向图层集合中添加分组图层结束事件的监听器。public void addLayerGroupRemovedListener(LayerGroupRemovedListener l)
LayerGroupRemovedEvent
的监听器。l
- 一个用于接收从图层集合移除分组图层结束事件的监听器。public void removeLayerGroupRemovedListener(LayerGroupRemovedListener l)
LayerGroupRemovedEvent
的监听器。l
- 一个用于接收从图层集合移除分组图层结束事件的监听器。public void addLayerAddedListener(LayerAddedListener l)
LayerAddedEvent
的监听器。l
- 一个用于接收图层被添加事件的监听器。public void removeLayerAddedListener(LayerAddedListener l)
LayerAddedEvent
的监听器。l
- 一个用于接收图层被添加事件的监听器。public void addLayerRemovedListener(LayerRemovedListener l)
LayerRemovedEvent
的监听器。l
- 一个用于接收图层被删除事件的监听器。public void removeLayerRemovedListener(LayerRemovedListener l)
LayerRemovedEvent
的监听器。l
- 一个用于接收图层被删除事件的监听器。public void add(Datasource datasource, java.lang.String strSLDFilePath)
datasource
- 数据所在的数据源strSLDFilePath
- SLD文件路径public java.lang.String[] getAllSubLayersTitle()
public Layer getByCaption(java.lang.String caption)
caption
- 图层别名public int indexOfByCaption(java.lang.String caption)
caption
- 图层别名public LayerHeatmap addHeatmap(Dataset dataset, int kernelRadius)
dataset
- 参与制作的热力图的数据,该数据必须为点矢量数据集kernelRadius
- 用于计算密度的查找半径public LayerHeatmap addHeatmap(Dataset dataset, int kernelRadius, Color maxColor, Color minColor)
dataset
- 参与制作的热力图的数据,该数据必须为点矢量数据集kernelRadius
- 用于计算密度的查找半径maxColor
- 高点密度的颜色minColor
- 低点密度的颜色public LayerGridAggregation addGridAggregation(Dataset dataset)
dataset
- 点数据集public LayerGridAggregation addGridAggregation(Dataset dataset, Color maxColor, Color minColor)
dataset
- 点数据集maxColor
- 高点密度的颜色minColor
- 低点密度的颜色public Layer insert(int index, java.lang.String strXML)
index
- 索引strXML
- xml图层数据public Layer find(java.lang.String name)
name
- 名称