public abstract class Theme
extends com.supermap.data.InternalHandleDisposable
限定符和类型 | 方法和说明 |
---|---|
boolean |
fromXML(String xml)
从 XML 字符串中导入专题图信息。
|
Map<String,String> |
getMemoryData()
返回内存专题图数据。
|
int |
getThemeWeight()
获取专题图层绘制权重值
|
ThemeType |
getType()
返回专题图的类型。
|
void |
setMemoryData(Map<String,String> map)
设置内存专题图数据。
|
void |
setThemeWeight(int value)
设置专题图层绘制的权重值
|
abstract String |
toString()
输出专题图格式化字符串。
|
String |
toXML()
导出专题图信息为 XML 字符串。
|
dispose
public Map<String,String> getMemoryData()
用内存数据制作专题图的方式与表达式制作专题图的方式互斥,前者优先级较高。
第一个参数代表专题值,即数据集中用来做专题图的字段或表达式的值; 第二个参数代表外部值。在制作专题图时,会用外部值代替专题值来制作相应的专题图。
public void setMemoryData(Map<String,String> map)
所设置的内存数据是一个 Map 对象,该 Map 对象的键值为用来制作专题的表达式对应的值,映射值根据专题图的种类而有所区别。其效果都相当于使用映射值代替专题值来制作相应的专题图。
对于单值专题图,映射值为单值专题图子项的单值,即用映射值的单值专题图子项的风格代替键值对应的单值子项的风格,没有通过该对象赋值的单值子项的风格采用单值专题图的默认风格,通过setDefaultStyle()方法可设置默认子项的风格。
对于分段专题图,映射值为分段专题图的表达式对应的值,即用映射值所在的分段子项的风格设置键值字段值对应的对象,没有通过该对象赋值的对象的保持其所在分段子项的风格不变。
对于标签专题图,映射值为任意字符串,没有通过该对象赋值的标签在地图中不显示。
注意:
由于Map对象的键不能重复,专题图的表达式的值不能相同。
该接口对统计专题图无效。
map
- 内存专题图数据。public void MemoryDataThemeLabel() { Workspace workspace = new Workspace(); DatasourceConnectionInfo datasourceConnectInfo = new DatasourceConnectionInfo("../SampleData/World/World.udb", "world", ""); Datasource datasource = workspace.getDatasources().open(datasourceConnectInfo); DatasetVector dataset = (DatasetVector)datasource.getDatasets().get("world"); ThemeLabel themeLabel = new ThemeLabel(); // 使用全球国家名作为标签专题图的标签表达式 themeLabel.setLabelExpression("Name"); java.util.Map memoryData = new HashMap(); // 设置数据,仅修改“北京”、“渥太华”和“莫斯科”三个国家的名称 memoryData.put("北京", "北京1"); memoryData.put("渥太华", "渥太华1"); memoryData.put("莫斯科", "莫斯科1"); // 设置标签专题图的内存数据 themeLabel.setMemoryData(memoryData); //设置标签文本风格 TextStyle style = new TextStyle(); style.setForeColor(Color.WHITE); style.setOutline(true); style.setWeight(15); style.setFontHeight(7); themeLabel.setUniformStyle(style); //添加到地图中 m_mapControl.getMap().getLayers().add(m_datasetVector, themeLabel, true); m_mapControl.getMap().refresh(); //释放占用的资源 m_mapControl.dispose(); workspace.dispose(); }
public boolean fromXML(String xml)
在 SuperMap 中,各种专题图的风格的设置都可以导出成 XML 格式的字符串,此 XML 格式的字符串中记录了关于这种专题图的所有设置,如对于标签专题图的 XML 格式字符串会记录专题图类型,可见比例尺,标签风格的设置,是否流动显示,是否自动避让等等对该标签专题图的所有风格的设置以及用来制作标签专题图的字段或表达式。这种 XML 格式字符串可以用来导入,对专题图进行设置。
xml
- 包含专题图信息的 XML 字符串。public String toXML()
在 SuperMap 中,各种专题图的风格的设置都可以导出成 XML 格式的字符串,此 XML 格式的字符串中记录了关于这种专题图的所有设置,如对于标签专题图的 XML 格式字符串会记录专题图类型,可见比例尺,标签风格的设置,是否流动显示,是否自动避让等等对该标签专题图的所有风格的设置以及用来制作标签专题图的字段或表达式。这种 XML 格式字符串可以用来导入,对专题图进行设置。
public void setThemeWeight(int value)
value
- 权重值 (0~10)IllegalStateException
- 当前对象已被释放public int getThemeWeight()
IllegalStateException
- 当前对象已被释放public abstract String toString()
Copyright © 2021–2024 SuperMap. All rights reserved.