标注:可用于增强地图功能,并向用户提供正确的消息。标注不仅仅局限于添加文本来说明地图的特性
getLabelRendition方法用于返回图元标注的样式属性。
LabelProperties 类包含控制如何绘制用于每个图层的标注的方法。借助于此类中的方法,可以控制标注的内容、可见性、外观和相对重要性。
LabelProperties labelProp = myLayer.getLabelProperties();
Rendition labelRend = labelProp.getRendition();
labelRend.setValue(Rendition.FONT_WEIGHT, 2f);
labelRend.setValue(Rendition.SYMBOL_FOREGROUND, Color.red);
labelRend.setValue(Rendition.FONT_STYLE, Rendition.FontStyle.ITALIC);
labelProp.setRendition(labelRend);
标注文本
来自于和地图图元关联的属性。这两个元素是动态链接的。如果底层属性更改,则标注文本也会发生相应的更改。
标注表达式
MapXtreme Java 可使用信息列、静态文本或两者的组合来对图元进行标注。标注表达式是 Java String 对象,由以下部分组成:(1) 静态文本(位于双引号转移字符 (\") 中并为每个标注显示),(2) 数据源的一个或多个列名(该数据源的值在运行时读取并在标注上显示)。
例如,要为名为 POP_2000 列的实际人口值创建一个采用静态文本 "Pop:" 的标注。可使用以下方法:
labelprops.setLabelExpression("Pop:" + POP_2000)
样式:地图中的所有图元均显示特定的可见特征,例如颜色或符号类型。相应的特征也称为样式。包括使用 Java2D API 渲染能力的众多显示属性图元的样式是通过使用诸如颜色、线条宽度、填充图案和符号样式等信息渲染的。这些样式通过调用 Feature 接口的 getRendition 方法返回。每个图元标注可用于提供预定义的 Rendition 对象来描述每个图元的标注。
样式 API 支持三种类别的属性:填充、单笔填充和符号。
填充属性
区域既可采用实体颜色填充,也可使用符号填充。要设置颜色,可指定表示所需颜色的 Java Color对象。例如:
Rendition rend = new RenditionImpl();
rend.setValue(Rendition.FILL, Color.red);
单笔填充属性
单笔填充属性控制如何显示直线或区域的边。这些属性控制单笔填充图案、线宽、线段连接点和端点、虚线模式和更多特性。
Rendition.STROKE 属性控制在绘制直线或边时使用的图案。属性值可是是实体颜色、用于指定符号图案的样式或渐变。这与此前所述的 Rendition.FILL 属性非常相似。当值为类似 FILL 属性的样式时,样式的符号属性将用于创建要用于对直线进行片断填充的符号。通常,直线上的符号填充只有在 STROKE_WIDTH > 1 时有意义。
Rendition.STROKE_WIDTH 控制直线宽度(单位为磅)和 Rendition.STROKE_OPACITY、不透明性(0.0 为透明,1.0 为不透明)。
Rendition rend = new RenditionImpl();
rend.setValue(Rendition.STROKE, Color.red);
rend.setValue(Rendition.STROKE_WIDTH, 3.2f);
rend.setValue(Rendition.STROKE_OPACITY, 0.3f);
符号属性:字体、图像和向量
除了标记点位置之外,MapXtreme Java 中的符号还可以执行众多操作。如上所述,符号可以用作样式来填充区域、较宽的直线或直线标记。符号可分为三种类型:字体、图像和向量。