com.supermap.mapping
类 SymbolLayerDrawing
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.mapping.SymbolLayerDrawing
-
- 所有已实现的接口:
- IDisposable
public class SymbolLayerDrawing extends com.supermap.data.InternalHandleDisposable
符号图层绘制方案类。Layer.getSymbolLayerDrawing()
方法后,将初始化一个符号图层绘制方案并由SymbolLayerDrawing对象返回,初始化重点是创建SymbolLayerDrawingGroup对象,按照规则将符号子层分配给SymbolLayerDrawingGroup对象。图层类型不同、符号子层数目不同,初始化结果不同,具体如下:- 统一风格图层
根据符号子层数量初始化对应数量的SymbolLayerDrawingGroup对象,按符号子层索引值从小到大的顺序,将子层逐一分配给索引值从小到大的对应SymbolLayerDrawingGroup对象,如上图所示。- 单值/分段专题图层
- 示范代码:
- 以下代码示例如何调整线单值专题图的初始化符号图层绘制方案,获得所有单值子项线几何对象交叉连接显示效果。
// 地图中第一个图层为线单值专题图
Layer
layerThemeUnique = m_map.getLayers().get(0); // 初始化线单值专题图的符号图层绘制方案SymbolLayerDrawing
symbolLayerDrawing = layerThemeUnique.getSymbolLayerDrawing(); // 启用线单值专题图符号图层绘制,分层渲染几何对象符号 symbolLayerDrawing.setEnabled(true); // 调整初始化方案下的SymbolLayerDrawingGroup对象索引顺序 symbolLayerDrawing.moveGroupTo(6, 1); symbolLayerDrawing.moveGroupTo(5, 1); symbolLayerDrawing.moveGroupTo(4, 1); // 进一步优化符号图层绘制方案,将所有符号的索引0子层分配到一个SymbolLayerDrawingGroup分组(索引值为0), // 使这些子层绘制在最下层的一个虚拟渲染层。 symbolLayerDrawing.moveItemToGroup(3, 0, 0); symbolLayerDrawing.moveItemToGroup(2, 0, 0); symbolLayerDrawing.moveItemToGroup(1, 0, 0); // 索引为3,2,1分组中的符号子项全部移至索引为0的分组后,删除空分组 symbolLayerDrawing.removeSymbolLayerDrawingGroup(3); symbolLayerDrawing.removeSymbolLayerDrawingGroup(2); symbolLayerDrawing.removeSymbolLayerDrawingGroup(1); m_map.refresh();
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 void
dispose()
void
fromXML(String strXML)
根据描述符号图层绘制方案的XML字符串构建符号图层绘制对象。int
getCount()
获取符号图层绘制分组数量。long
getHandle()
SymbolLayerDrawingGroup
getSymbolLayerDrawingGroup(int index)
获取指定索引的符号图层绘制分组对象。boolean
isEnabled()
获取图层是否启用符号图层绘制。void
moveGroupTo(int originalIndex, int targetIndex)
将指定索引的符号图层绘制分组移至目标索引位置,目标索引后的分组依次后移。void
moveItemToGroup(int originalGroupIndex, int originalItemIndex, int targetGroupIndex)
将指定符号图层绘制分组内的指定符号子层移至目标分组。void
moveItemToNewGroup(int originalGroupIndex, int originalItemIndex)
将指定符号图层绘制分组内的指定符号子层移至一个新建分组,该新建分组的索引位于已有分组末尾。boolean
removeSymbolLayerDrawingGroup(int index)
删除指定索引的符号图层绘制分组,仅支持删除空分组;如果分组内存在符号子层,删除失败。void
setEnabled(boolean value)
设置图层是否启用符号图层绘制。String
toXML()
将符号图层绘制方案转换为XML格式的字符串。
-
-
-
方法详细资料
-
dispose
public void dispose()
-
getHandle
public long getHandle()
- 覆盖:
getHandle
在类中com.supermap.data.InternalHandle
-
getSymbolLayerDrawingGroup
public SymbolLayerDrawingGroup getSymbolLayerDrawingGroup(int index)
获取指定索引的符号图层绘制分组对象。- 参数:
index
- 符号图层绘制分组对象的索引,索引值从0开始,范围为【0-100】。- 返回:
- 返回指定索引的符号图层绘制分组对象。
- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
moveGroupTo
public void moveGroupTo(int originalIndex, int targetIndex)
将指定索引的符号图层绘制分组移至目标索引位置,目标索引后的分组依次后移。SymbolLayerDrawing
类描述。- 参数:
originalIndex
- 待移动符号图层绘制分组索引,索引值从0开始,范围为【0-100】。targetIndex
- 目标索引位置,索引值从0开始,范围为【0-100】。- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
moveItemToGroup
public void moveItemToGroup(int originalGroupIndex, int originalItemIndex, int targetGroupIndex)
将指定符号图层绘制分组内的指定符号子层移至目标分组。SymbolLayerDrawing
类描述。- 参数:
originalGroupIndex
- 待移动符号子层所在的符号图层绘制分组索引,索引值从0开始,范围为【0-100】。originalItemIndex
- 管理待移动符号子层的SymbolLayerDrawingItem对象索引,索引值从0开始,范围为【0-+∞】。targetGroupIndex
- 目标符号图层绘制分组索引,索引值从0开始,范围为【0-100】。- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
moveItemToNewGroup
public void moveItemToNewGroup(int originalGroupIndex, int originalItemIndex)
将指定符号图层绘制分组内的指定符号子层移至一个新建分组,该新建分组的索引位于已有分组末尾。SymbolLayerDrawing
类描述。- 参数:
originalGroupIndex
- 待移动符号子层所在的符号图层绘制分组索引,索引值从0开始,范围为【0-100】。originalItemIndex
- 管理待移动符号子层的SymbolLayerDrawingItem对象索引,索引值从0开始,范围为【0-+∞】。- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
removeSymbolLayerDrawingGroup
public boolean removeSymbolLayerDrawingGroup(int index)
删除指定索引的符号图层绘制分组,仅支持删除空分组;如果分组内存在符号子层,删除失败。- 参数:
index
- 待删除符号图层绘制分组的索引,索引值从0开始,范围为【0-100】。- 返回:
- 如果删除成功返回true,否则返回false。
- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
getCount
public int getCount()
获取符号图层绘制分组数量。- 返回:
- 返回符号图层绘制分组数量。
- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
isEnabled
public boolean isEnabled()
获取图层是否启用符号图层绘制。- 返回:
- 如果图层已启用符号图层绘制返回true,否则返回false。
- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
setEnabled
public void setEnabled(boolean value)
设置图层是否启用符号图层绘制。SymbolLayerDrawing
类描述。- 参数:
value
- 如果为true,则当前图层启用符号图层绘制;如果为false,则当前图层未启用符号图层绘制。- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
toXML
public String toXML()
将符号图层绘制方案转换为XML格式的字符串。- 返回:
- 返回描述符号图层绘制方案的XML字符串。
- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
fromXML
public void fromXML(String strXML)
根据描述符号图层绘制方案的XML字符串构建符号图层绘制对象。- 参数:
strXML
- 描述符号图层绘制方案的XML字符串。- 抛出:
IllegalStateException
- 当符号图层绘制方案对象已释放。- 从以下版本开始:
- 12.0.0
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.