类 ThemeLabel
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.mapping.Theme
-
- com.supermap.mapping.ThemeLabel
-
- 所有已实现的接口:
- IDisposable
public class ThemeLabel extends Theme
标签专题图类。标签专题图的标注可以是数字、字母与文字,例如:河流、湖泊、海洋、山脉、城镇、村庄等地理名称,高程、等值线数值、河流流速、公路段里程、航海线里程等。
在标签专题图中,你可以对标签的显示风格和位置进行设置或控制,你可以为所有的标签都设置统一的显示风格和位置选项来显示;也可以通过单值标签专题图,基于指定字段表达式的值进行分类,值相同的对象标签为一类使用相同的风格显示,不同类的标签使用不同风格显示;还可以通过分段标签专题图,基于指定字段表达式的值进行分段,同一段内的对象标签相同的风格显示,不同段的标签使用不同风格显示。
另外,单个标签的位置也是可以通过 Layer.setThemeElementPosition 接口修改的。
标签专题图有多种类型:统一标签专题图、单值标签专题图、复合风格标签专题图、分段标签专题图以及自定义标签专题图,通过ThemeLabel类可以实现以上所有风格标签专题图的设置,建议用户不要同时设置两种或两种以上的风格,如果同时设置了多种风格,标签专题图的显示将按照下表的优先级情况进行风格显示:

注:地图上一般还会出现图例说明,图名,比例尺等等,那些都是制图元素,不属于标签专题图标注的范畴。
注意:如果通过连接(Join)或关联(Link)的方式与一个外部表建立了联系,当专题图的专题变量用到外部表的字段时,在显示专题图时,需要调用
Layer.setDisplayFilter()方法,否则专题图将创建失败。
-
-
构造器概要
构造器 构造器和说明 ThemeLabel()默认构造函数,构造一个新的ThemeLabel对象。ThemeLabel(ThemeLabel themeLabel)拷贝构造函数,根据给定的ThemeLabel对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 booleanaddToHead(ThemeLabelItem item)已过时。booleanaddToHead(ThemeLabelItem item, boolean normalize)已过时。booleanaddToTail(ThemeLabelItem item)已过时。booleanaddToTail(ThemeLabelItem item, boolean normalize)已过时。voidclear()已过时。voiddispose()释放对象所占用的资源。booleanfromXML(String xml)通过包含专题图信息的 XML 字符串来初始化标签专题图AlongLineAllowConditiongetAlongLineAllowCondition()获取沿线标注在特殊情况下的允许模式。AlongLineCulturegetAlongLineCulture()返回沿线标注使用的语言文化习惯。AlongLineDirectiongetAlongLineDirection()返回标签沿线标注方向。AlongLineDrawingModegetAlongLineDrawingMode()返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。AlongLineLabelModegetAlongLineLabelMode()获取沿线标注的显示模式。doublegetAlongLineMoreThanLineMultiple()获取沿线标注的超长标签可超过标注线对象长度的倍数doublegetAlongLineResampleTolerance()获取沿线标注重采样的容限值,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)intgetAlongLineSmoothness()获取沿线标注重采样的光滑系数,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)doublegetAlongLineSpaceRatio()返回沿线文本间隔比率,该方法只对沿线标注起作用。intgetAlongLineWordAngleRange()返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。LabelBackShapegetBackShape()返回标签专题图中的标签背景的形状类型。GeoStylegetBackStyle()返回标签专题图中的标签背景风格。intgetCount()已过时。doublegetCustomInterval()获取自定义段长。DraftLinePositionModegetDraftLinePositionMode()获取牵引线的连接锚点。DraftLineTypeModegetDraftLineTypeMode()获取牵引线类型。StringgetExplodeXExpression()返回一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。StringgetExplodeYExpression()返回一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。booleangetIsDisplayByDomain()获取是否根据值域显示。ThemeLabelItemgetItem(int index)已过时。StringgetLabelAngleExpression()返回一个字段,该字段为数值型字段,字段值控制文本的旋转角度。StringgetLabelColorExpression()返回一个字段,该字段为数值型字段,控制文字颜色。StringgetLabelExpression()返回标注字段表达式。StringgetLabelFontTypeExpression()返回一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。doublegetLabelRepeatInterval()返回在沿线标注时循环标注的间隔。LabelMatrixgetLabels()返回标签专题图中的矩阵标签。StringgetLabelSizeExpression()返回一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。GeoStylegetLeaderLineStyle()返回标签与其标注对象之间牵引线的风格。intgetMaxLabelLength()返回标签在每一行显示的最大长度。intgetMaxTextHeight()返回标签中文本的最大高度。intgetMaxTextWidth()返回标签中文本的最大宽度。intgetMinTextHeight()返回标签中文本的最小高度。intgetMinTextWidth()返回标签中文本的最小宽度。intgetNumericPrecision()返回标签中数字的精度。StringgetOffsetX()返回标签专题图中标记文本相对于要素内点的水平偏移量。StringgetOffsetY()返回标签专题图中标记文本相对于要素内点的垂直偏移量。AvoidModegetOverlapeAvoidMode()返回标签专题图中标签文本的避让方式。OverLengthLabelModegetOverLengthMode()返回超长标签的处理方式。ThemeLabelgetParent()返回当前标签专题图所归属的专题图,即其父对象。StringgetRangeExpression()返回分段字段表达式。ThemeLabelRangeItemsgetRangeItems()返回分段标签专题图子项集合。RangeModegetRangeMode()返回当前的分段模式。doublegetRarefyPointsRadius()返回自动抽稀点的容限,逻辑坐标,单位为0.1mm。intgetRarefyThreshold()返回自动抽稀点的阈值。ColorgetShadowColor()返回边线的颜色doublegetShadowOffsetRatioX()返回阴影的水平偏移量doublegetShadowOffsetRatioY()返回阴影的垂直偏移量chargetSplitSeparator()获取用于标签文本换行的换行符,可以为:“/”、“;”、空格等。Size2DgetTextExtentInflation()返回标签中文本在 X,Y 正方向上的缓冲范围。doublegetTextSpaceing()已过时。doublegetTextSpacing()获取文本的间距,以字高为单位。MixedTextStylegetUniformMixedStyle()返回标签专题图统一的文本复合风格。MixedTextStylegetUniformMixedSytle()已过时。TextStylegetUniformStyle()返回统一文本风格。StringgetUniqueExpression()返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。ThemeLabelUniqueItemsgetUniqueItems()返回单值标签专题图子项集合。intindexOf(double value)已过时。booleanisAllDirectionsOverlapedAvoided()已过时。booleanisAllDirectionsOverlappedAvoided()已过时。booleanisAlongLine()返回是否沿线显示文本。booleanisAlongLineAutoAvoid()返回是否沿线查找合适的位置进行沿线标注。booleanisAlongLineResampleLine()返回是否对复杂线型进行预处理后再进行沿线标注。booleanisAlongLineResampleSmooth()获取是否沿线标注重采样,即对于高密集点的线段做重采样和光滑处理,然后再沿线标注booleanisAlongLineSelfOverlap()沿线标签是否开启显示自压盖对象booleanisAlongLineTextFollowLine()获取沿线标注时文本是否随线方向保持一致。booleanisAngleFixed()当沿线显示文本时,是否将文本角度固定。booleanisAutoAdjustRegionLabel()返回是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。booleanisDraftLineAtNearestPosition()获取牵引线是否使用DraftLinePositionMode对齐点中最近的点作为锚点。booleanisDrawBackShadow()获取是否显示标签阴影booleanisDrawTextInCenterLine()booleanisFlowEnabled()返回是否流动显示标签。booleanisLabelCoverLine()获取是否标签掩膜。booleanisLeaderLineDisplayed()返回是否显示标签和它标注的对象之间的牵引线。booleanisOffsetFixed()返回当前标签专题图是否固定标记文本的偏移量。booleanisOnlyDrawWithinRegionText()获取是否只绘制面内标签booleanisOnTop()返回标签专题图图层是否显示在最上层。booleanisOptimizeMutilineAlignment()返回当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。booleanisOverlapAvoided()返回是否允许以文本避让方式显示文本。booleanisRarefyPoints()返回显示点标签专题图时,是否自动抽稀点,以节省绘制时间。booleanisRepeatedLabelAvoided()返回是否避免地图重复标注。booleanisRepeatIntervalFixed()返回循环标注间隔是否固定。booleanisShowTextInRegionThrend()获取是否面标签沿面趋势方向显示booleanisSmallGeometryLabeled()当标签的长度大于被标注对象本身的长度时,返回是否显示该标签。booleanisTextExpression()返回是否支持文本表达式,即上下标功能。booleanisVertical()返回是否使用竖排标签。static ThemeLabelmakeDefault(DatasetVector dataset, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)根据给定的矢量数据集、单值字段表达式、颜色渐变模式和和外部连接表项参数生成默认的单值标签专题图。static ThemeLabelmakeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter)根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的标签专题图。static ThemeLabelmakeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType)根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的标签专题图。static ThemeLabelmakeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的标签专题图。static ThemeLabelmakeDefault(String[] values, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)根据给定的单值、单值字段表达式、渐变颜色类型和外部连接表项参数生成默认的单值标签专题图。booleanmerge(int index, int count, TextStyle style, String caption)已过时。voidreverseStyle()对标签专题图中分段的风格进行反序显示。voidsetAllDirectionsOverlapedAvoided(boolean value)已过时。voidsetAllDirectionsOverlappedAvoided(boolean value)已过时。voidsetAlongLine(boolean value)设置是否沿线显示文本。voidsetAlongLineAllowCondition(AlongLineAllowCondition value)设置沿线标注在特殊情况下的允许模式。voidsetAlongLineAutoAvoid(boolean value)设置是否沿线查找合适的位置进行沿线标注。voidsetAlongLineCulture(AlongLineCulture value)设置沿线标注使用的语言文化习惯。voidsetAlongLineDirection(AlongLineDirection value)设置标签沿线标注方向。voidsetAlongLineDrawingMode(AlongLineDrawingMode value)设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。voidsetAlongLineLabelMode(AlongLineLabelMode value)设置沿线标注的显示模式。voidsetAlongLineMoreThanLineMultiple(double value)设置沿线标注的超长标签可超过标注线对象长度的倍数voidsetAlongLineResampleLine(boolean value)设置是否对复杂线型进行预处理后再进行沿线标注。voidsetAlongLineResampleSmooth(boolean value)设置是否沿线标注重采样,即对于高密集点的线段做重采样和光滑处理,然后再沿线标注voidsetAlongLineResampleTolerance(double value)设置沿线标注重采样的容限值,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)voidsetAlongLineSelfOverlap(boolean value)设置沿线标签是否开启显示自压盖对象voidsetAlongLineSmoothness(int value)设置沿线标注重采样的光滑系数,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)voidsetAlongLineSpaceRatio(double value)设置沿线文本间隔比率,该方法只对沿线标注起作用。voidsetAlongLineTextFollowLine(boolean value)设置沿线标注时文本是否随线方向保持一致。voidsetAlongLineWordAngleRange(int value)设置沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。voidsetAngleFixed(boolean value)当沿线显示文本时,是否将文本角度固定。voidsetAutoAdjustRegionLabel(boolean value)设置是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。voidsetBackShape(LabelBackShape value)设置标签专题图中的标签背景的形状类型。voidsetBackStyle(GeoStyle style)设置标签专题图中的标签背景风格。voidsetDraftLineAtNearestPosition(boolean value)设置牵引线是否使用DraftLinePositionMode对齐点中最近的点作为锚点。voidsetDraftLinePositionMode(DraftLinePositionMode value)设置牵引线的连接锚点。voidsetDraftLineTypeMode(DraftLineTypeMode value)设置牵引线类型。voidsetDrawBackShadow(boolean value)设置是否显示标签阴影voidsetDrawTextInCenterLine(boolean value)voidsetExplodeXExpression(String value)设置一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。voidsetExplodeYExpression(String value)设置一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。voidsetFlowEnabled(boolean value)设置是否流动显示标签。voidsetIsDisplayByDomain(boolean value)设置是否根据值域显示。voidsetIsOnlyDrawWithinRegionText(boolean value)设置是否只绘制面内标签voidsetIsShowTextInRegionThrend(boolean value)设置是否面标签沿面趋势方向显示voidsetLabelAngleExpression(String value)设置一个字段,该字段为数值型字段,字段值控制文本的旋转角度。voidsetLabelColorExpression(String value)设置一个字段,该字段为数值型字段,控制文字颜色,指定字段后,标签的文字颜色将从对应记录的该字段值中读取。voidsetLabelCoverLine(boolean value)设置是否标签掩膜。voidsetLabelExpression(String value)设置标注字段表达式。voidsetLabelFontTypeExpression(String value)设置一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。voidsetLabelRepeatInterval(double value)设置在沿线标注时循环标注的间隔。voidsetLabels(LabelMatrix labelMatrix)设置标签专题图中的矩阵标签。voidsetLabelSizeExpression(String value)设置一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。voidsetLeaderLineDisplayed(boolean value)设置是否显示标签和它标注的对象之间的牵引线。voidsetLeaderLineStyle(GeoStyle style)设置标签与其标注对象之间牵引线的风格。voidsetMaxLabelLength(int value)设置标签在每一行显示的最大长度。voidsetMaxTextHeight(int value)设置标签中文本的最大高度。voidsetMaxTextWidth(int value)设置标签中文本的最大宽度。voidsetMinTextHeight(int value)设置标签中文本的最小高度。voidsetMinTextWidth(int value)设置标签中文本的最小宽度。voidsetNumericPrecision(int value)设置标签中数字的精度。voidsetOffsetFixed(boolean value)设置当前标签专题图是否固定标记文本的偏移量。voidsetOffsetX(String value)设置标签专题图中标记文本相对于要素内点的水平偏移量。voidsetOffsetY(String value)设置标签专题图中标记文本相对于要素内点的垂直偏移量。voidsetOnTop(boolean value)设置标签专题图图层是否显示在最上层。voidsetOptimizeMutilineAlignment(boolean value)设置当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。voidsetOverlapAvoided(boolean value)是否允许以文本避让方式显示文本。voidsetOverlapeAvoidMode(AvoidMode value)设置标签专题图中标签文本的避让方式。voidsetOverLengthMode(OverLengthLabelMode value)设置超长标签的处理方式。voidsetRangeExpression(String value)设置分段字段表达式。voidsetRarefyPoints(boolean value)设置显示点标签专题图时,是否自动抽稀点,以节省绘制时间。voidsetRarefyPointsRadius(double value)设置自动抽稀点的容限,逻辑坐标,单位为0.1mm。voidsetRarefyThreshold(int value)设置自动抽稀点的阈值。voidsetRepeatedLabelAvoided(boolean value)设置是否避免地图重复标注。voidsetRepeatIntervalFixed(boolean value)设置循环标注间隔是否固定。voidsetShadowColor(Color value)设置边线的颜色voidsetShadowOffsetRatioX(double value)设置阴影的水平偏移量voidsetShadowOffsetRatioY(double value)设置阴影的垂直偏移量voidsetSmallGeometryLabeled(boolean value)当标签的长度大于被标注对象本身的长度时,设置是否显示该标签。voidsetSplitSeparator(char value)设置用于标签文本换行的换行符,可以为:“/”、“;”、空格等。voidsetTextExpression(boolean value)设置是否支持文本表达式,即上下标功能。voidsetTextExtentInflation(Size2D value)设置标签中文本在 X,Y 正方向上的缓冲范围。voidsetTextSpaceing(double value)已过时。voidsetTextSpacing(double value)设置文本的间距,以字高为单位。voidsetUniformMixedStyle(MixedTextStyle value)设置标签专题图统一的文本复合风格。voidsetUniformMixedSytle(MixedTextStyle value)已过时。voidsetUniformStyle(TextStyle style)设置统一文本风格。voidsetUniqueExpression(String value)设置单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。voidsetVertical(boolean value)设置是否使用竖排标签。booleansplit(int index, double splitValue, TextStyle style1, String caption1, TextStyle style2, String caption2)已过时。StringtoString()输出一个字符串来表达当前标签专题图对象-
从类继承的方法 com.supermap.mapping.Theme
getMemoryData, getThemeWeight, getType, setMemoryData, setThemeWeight, toXML
-
-
-
-
构造器详细资料
-
ThemeLabel
public ThemeLabel()
默认构造函数,构造一个新的ThemeLabel对象。
-
ThemeLabel
public ThemeLabel(ThemeLabel themeLabel)
拷贝构造函数,根据给定的ThemeLabel对象构造一个与其完全相同的新对象。- 参数:
themeLabel- 给定的ThemeLabel对象。
-
-
方法详细资料
-
getItem
@Deprecated public ThemeLabelItem getItem(int index)
已过时。返回指定序号的标签专题图中标签专题图子项。有关标签专题图子项详细信息,请参见ThemeLabelItem类。- 参数:
index- 指定标签专题图子项的序号。- 返回:
- 指定序号的标签专题图中标签专题图子项。
- 另请参阅:
ThemeLabelItem
-
getCount
@Deprecated public int getCount()
已过时。返回标签专题图中分段的个数。- 返回:
- 标签专题图中分段的个数。
- 默认值:
- 默认值为 0。
-
getBackStyle
public GeoStyle getBackStyle()
返回标签专题图中的标签背景风格。- 返回:
- 标签专题图中的标签背景风格。
- 默认值:
- 默认值为 {FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=255, G=255, B=204],FillGradientAngle=0,FillGradientMode=None,FillGradientOffsetRatioX=0,FillGradientOffsetRatioY=0,FillOpaqueRate=100,FillSymbolID=0,LineColor=Color [A=255, R=0, G=0, B=0],LineSymbolID=0,LineWidth=0.1,MarkerAngle=0,MarkerSize={Width=2.4,Height=-1},MarkerSymbolID=0}
-
setBackStyle
public void setBackStyle(GeoStyle style)
设置标签专题图中的标签背景风格。- 参数:
style- 指定标签背景风格。
-
getBackShape
public LabelBackShape getBackShape()
返回标签专题图中的标签背景的形状类型。背景类型可以是矩形、圆角矩形、菱形、椭圆形、三角形和符号等,默认不显示任何背景。详细信息可参考LabelBackShape。- 返回:
- 标签背景的形状类型。
- 另请参阅:
LabelBackShape- 默认值:
- 默认值为
LabelBackShape.NONE,即空背景。
-
setBackShape
public void setBackShape(LabelBackShape value)
设置标签专题图中的标签背景的形状类型。背景类型可以是矩形、圆角矩形、菱形、椭圆形、三角形和符号等,默认不显示任何背景。详细信息可参考LabelBackShape。- 参数:
value- 指定标签背景的形状类型。- 另请参阅:
LabelBackShape
-
getMaxLabelLength
public int getMaxLabelLength()
返回标签在每一行显示的最大长度。如果输入的字符超过设置的最大长度,可以采用两种方式处理,一种是以换行的方式进行显示,这种方式自动调整字间距,尽量使每一行的字符个数相近,故每一行显示的字符个数小于等于设置的最大长度; 另一种是以省略号方式进行显示,当输入的字符大于设置的最大长度时,多出的字符将以省略号的方式进行显示。
- 返回:
- 每一行显示的最大长度。
- 默认值:
- 默认值为 256。
-
setMaxLabelLength
public void setMaxLabelLength(int value)
设置标签在每一行显示的最大长度。如果超过这个长度,可以采用两种方式来处理,一种是换行的模式进行显示,另一种是以省略号方式显示。- 参数:
value- 指定每一行显示的最大长度。
-
getOverLengthMode
public OverLengthLabelMode getOverLengthMode()
返回超长标签的处理方式。对超长标签可以不作任何处理,也可以省略超出的部分,或者以换行方式进行显示。- 返回:
- 超长标签的处理方式。
- 默认值:
- 默认值为
OverLengthLabelMode.NONE,即对超长标签不进行处理。
-
setOverLengthMode
public void setOverLengthMode(OverLengthLabelMode value)
设置超长标签的处理方式。对超长标签可以不作任何处理,也可以省略超出的部分,或者以换行方式进行显示。- 参数:
value- 指定超长标签的处理方式。
-
isFlowEnabled
public boolean isFlowEnabled()
返回是否流动显示标签。默认为 true。注:流动显示只适合于线和面要素的标注
。该方法与
Map.setDisableDynamicEffect()方法相互冲突,即 setDisableDynamicEffect(true)时,即使该方法设置为true,也无法流动显示标签。- 返回:
- 是否流动显示标签。
- 默认值:
- 默认值为 true。
-
setFlowEnabled
public void setFlowEnabled(boolean value)
设置是否流动显示标签。注:流动显示只适合于线和面要素的标注
。- 参数:
value- 指定是否流动显示标签。
-
isSmallGeometryLabeled
public boolean isSmallGeometryLabeled()
当标签的长度大于被标注对象本身的长度时,返回是否显示该标签。在标签的长度大于线或者面对象本身的长度时,如果选择继续标注,则标签文字会叠加在一起显示,为了清楚完整的显示该标签,可以采用换行模式来显示标签,但必须保证每行的长度小于对象本身的长度。
- 返回:
- 一个布尔值指定是否显示长度大于被标注对象本身长度的标签。
- 默认值:
- 默认值为 false。
-
setSmallGeometryLabeled
public void setSmallGeometryLabeled(boolean value)
当标签的长度大于被标注对象本身的长度时,设置是否显示该标签。在标签的长度大于线或者面对象本身的长度时,如果选择继续标注,则标签文字会叠加在一起显示,为了清楚完整的显示该标签,可以采用换行模式来显示标签,但必须保证每行的长度小于对象本身的长度。
- 参数:
value- 一个布尔值指定是否显示长度大于被标注对象本身长度的标签。
-
getAlongLineDirection
public AlongLineDirection getAlongLineDirection()
返回标签沿线标注方向。- 返回:
- 标签沿线标注方向。
- 默认值:
- 默认值为
AlongLineDirection.ALONG_LINE_NORMAL。
-
setAlongLineDirection
public void setAlongLineDirection(AlongLineDirection value)
设置标签沿线标注方向。- 参数:
value- 标签沿线标注方向。
-
getAlongLineCulture
public AlongLineCulture getAlongLineCulture()
返回沿线标注使用的语言文化习惯。- 返回:
- 沿线标注使用的语言文化习惯。
- 默认值:
- 默认值与当前系统的非 Unicode 语言相关。如果是中文环境,为 CHINESE,否则为 ENGLISH。
-
setAlongLineCulture
public void setAlongLineCulture(AlongLineCulture value)
设置沿线标注使用的语言文化习惯。- 参数:
value- 沿线标注使用的语言文化习惯。
-
isAlongLine
public boolean isAlongLine()
返回是否沿线显示文本。true 表示沿线显示文本,false 表示正常显示文本。注:沿线标注属性只适用于线数据集专题图。
- 返回:
- 是否沿线显示文本。
- 默认值:
- 默认值为 true。
-
setAlongLine
public void setAlongLine(boolean value)
设置是否沿线显示文本。true 表示沿线显示文本,false 表示正常显示文本。注:沿线标注属性只适用于线数据集专题图。
- 参数:
value- 指定是否沿线显示文本。
-
isAngleFixed
public boolean isAngleFixed()
当沿线显示文本时,是否将文本角度固定。true 表示按固定文本角度显示文本,false 表示按照沿线角度显示文本。- 返回:
- 当沿线显示文本时,是否将文本角度固定。
- 默认值:
- 默认值为 false。
-
setAngleFixed
public void setAngleFixed(boolean value)
当沿线显示文本时,是否将文本角度固定。true 表示按固定文本角度显示文本,false 表示按照沿线角度显示文本。- 参数:
value- 指定当沿线显示文本时,是否将文本角度固定。
-
isOverlapAvoided
public boolean isOverlapAvoided()
返回是否允许以文本避让方式显示文本。只针对该标签专题图层中的文本数据。注:在标签重叠度很大的情况下,即使使用自动避让功能,可能也无法完全避免标签重叠现象。
当两个相互重叠的标签同时设置了文本避让时,ID 靠前的标签文本具有优先绘制权。
在制作标签专题图时,如果对同一空间位置上的重复点制作标签专题图,可以关闭自动避让功能来保证性能。
- 返回:
- 是否自动避免文本叠盖。
- 默认值:
- 默认值为 true,即自动避免文本叠盖。
-
setOverlapAvoided
public void setOverlapAvoided(boolean value)
是否允许以文本避让方式显示文本。只针对该标签专题图层中的文本数据。该方法与
Map.setDisableDynamicEffect()方法相互冲突,即 setDisableDynamicEffect(true)时,即使该方法设置为true,标签专题图中文本也无法自动避让。注:在标签重叠度很大的情况下,即使使用自动避让功能,可能也无法完全避免标签重叠现象。
当两个相互重叠的标签同时设置了文本避让时,ID 靠前的标签文本具有优先绘制权。
- 参数:
value- 指定是否自动避免文本叠盖。
-
isRepeatIntervalFixed
public boolean isRepeatIntervalFixed()
返回循环标注间隔是否固定。true 表示固定循环标注间隔,循环标注间隔不随地图的缩放而变化;false 表示循环标注间隔随地图的缩放而变化。- 返回:
- 循环标注间隔固定返回 true;否则返回 false。
- 默认值:
- 默认值为 false。
-
setRepeatIntervalFixed
public void setRepeatIntervalFixed(boolean value)
设置循环标注间隔是否固定。true 表示固定循环标注间隔,循环标注间隔不随地图的缩放而变化;false 表示循环标注间隔随地图的缩放而变化。- 参数:
value- 一个布尔值指定循环标注间隔是否固定。
-
getLabelRepeatInterval
public double getLabelRepeatInterval()
返回在沿线标注时循环标注的间隔。所设置的间隔大小代表打印后相邻标注间隔的纸面距离,单位为0.1毫米。例如:循环标注间隔值设置为500,地图打印后,在纸面上量算相邻标注间的距离就为5厘米。- 返回:
- 在沿线标注时循环标注的间隔。
- 默认值:
- 默认值为 0。
-
setLabelRepeatInterval
public void setLabelRepeatInterval(double value)
设置在沿线标注时循环标注的间隔。所设置的间隔大小代表打印后相邻标注间隔的纸面距离,单位为0.1毫米。例如:循环标注间隔值设置为500,地图打印后,在纸面上量算相邻标注间的距离就为5厘米。- 参数:
value- 指定在沿线标注时循环标注的间隔。
-
getOffsetX
public String getOffsetX()
返回标签专题图中标记文本相对于要素内点的水平偏移量。标签偏移量的单位为地图单位。该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
- 返回:
- 标签专题图中标记文本相对于要素内点的水平偏移量。
- 默认值:
- 默认值为一个空字符串。
-
setOffsetX
public void setOffsetX(String value)
设置标签专题图中标记文本相对于要素内点的水平偏移量。标签偏移量的单位为地图单位。该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
- 参数:
value- 指定标签专题图中标记文本相对于要素内点的水平偏移量。
-
getOffsetY
public String getOffsetY()
返回标签专题图中标记文本相对于要素内点的垂直偏移量。标签偏移量的单位为地图单位。该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为2。
- 返回:
- 标签专题图中标记文本相对于要素内点的垂直偏移量。
- 默认值:
- 默认值为一个空字符串。
-
setOffsetY
public void setOffsetY(String value)
设置标签专题图中标记文本相对于要素内点的垂直偏移量。标签偏移量的单位为地图单位。该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
当线标签专题图启用沿线显示文本(
ThemeLabel.setAlongLine(boolean))时,垂直偏移量设置无效,将按照水平偏移量(ThemeLabel.setOffsetX(String))沿线的垂直方向偏移标签。- 参数:
value- 指定标签专题图中标记文本相对于要素内点的垂直偏移量。
-
getLeaderLineStyle
public GeoStyle getLeaderLineStyle()
返回标签与其标注对象之间牵引线的风格。- 返回:
- 标签与其标注对象之间牵引线的风格。
- 默认值:
- {FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=189, G=235, B=255],FillGradientAngle=0,FillGradientMode=None,FillGradientOffsetRatioX=0,FillGradientOffsetRatioY=0,FillOpaqueRate=100,FillSymbolID=0,LineColor=Color [A=255, R=0, G=0, B=0],LineSymbolID=39,LineWidth=0.1,MarkerAngle=0,MarkerSize={Width=2.4,Height=-1},MarkerSymbolID=0}
-
setLeaderLineStyle
public void setLeaderLineStyle(GeoStyle style)
设置标签与其标注对象之间牵引线的风格。- 参数:
style- 指定标签与其标注对象之间牵引线的风格。
-
isLeaderLineDisplayed
public boolean isLeaderLineDisplayed()
返回是否显示标签和它标注的对象之间的牵引线。- 返回:
- 是否显示标签和它标注的对象之间的牵引线。
- 默认值:
- 默认值为 false。即不显示标签和它标注的对象之间的牵引线。
-
setLeaderLineDisplayed
public void setLeaderLineDisplayed(boolean value)
设置是否显示标签和它标注的对象之间的牵引线。- 参数:
value- 指定是否显示标签和它标注的对象之间的牵引线。
-
getRangeExpression
public String getRangeExpression()
返回分段字段表达式。其中分段表达式中的值必须为数值型的。用户根据该方法的返回值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(
getLabelExpression()或setLabelExpression())相应的标注文本。- 返回:
- 分段字段表达式。
- 默认值:
- 默认值为一个空字符串。
-
setRangeExpression
public void setRangeExpression(String value)
设置分段字段表达式。其中分段表达式中的值必须为数值型的。用户根据该方法的设置值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(
getLabelExpression()或setLabelExpression())相应的标注文本。- 参数:
value- 指定分段字段表达式。
-
getUniqueExpression
public String getUniqueExpression()
返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。- 返回:
- 返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。
-
setUniqueExpression
public void setUniqueExpression(String value)
设置单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。- 参数:
value- 单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式。
-
getLabelExpression
public String getLabelExpression()
返回标注字段表达式。- 返回:
- 标注字段表达式。
- 默认值:
- 默认值为一个空字符串。
-
setLabelExpression
public void setLabelExpression(String value)
设置标注字段表达式。- 参数:
value- 指定标注字段表达式。
-
getExplodeXExpression
public String getExplodeXExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。- 返回:
- 返回一个字段,该字段控制文本的在水平方向的偏移距离。
-
setExplodeXExpression
public void setExplodeXExpression(String value)
设置一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。- 参数:
value- 一个字段,该字段控制文本的在水平方向的偏移距离。标签偏移效果由偏移量(X、Y方向)以及文本对齐方式共同决定,偏移设置需要提供水平(X)、垂直(Y)偏移量。对于偏移可以使用地理坐标或者逻辑坐标。
注:如果字段值为无值,将按照ThemeLabel.setOffsetX()方法设置的值进行水平偏移。
关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。
- 示范代码:
- 使用字段控制标签专题图的文本风格的示例代码,请参见:
setLabelColorExpression()。
-
getExplodeYExpression
public String getExplodeYExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。- 返回:
- 返回一个字段,该字段控制文本的在垂直方向的偏移距离。
-
setExplodeYExpression
public void setExplodeYExpression(String value)
设置一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。- 参数:
value- 一个字段,该字段控制文本的在垂直方向的偏移距离。标签偏移效果由偏移量(X、Y方向)以及文本对齐方式共同决定,偏移设置需要提供水平(X)、垂直(Y)偏移量。对于偏移可以使用地理坐标或者逻辑坐标。
注:如果字段值为无值,将按照ThemeLabel.setOffsetY()方法设置的值进行垂直偏移。
关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。
- 示范代码:
- 使用字段控制标签专题图的文本风格的示例代码,请参见:
setLabelColorExpression()。
-
getLabelSizeExpression
public String getLabelSizeExpression()
返回一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。- 返回:
- 一个字段,该字段控制文字字高。
-
setLabelSizeExpression
public void setLabelSizeExpression(String value)
设置一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。指定字段后,标签的文字大小将从对应记录的该字段值中读取。- 参数:
value- 一个字段,该字段控制文字字高。通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。
注:如果字段值为无值,将按照当前标签专题图所设置的字体大小的具体数值进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文本风格中的字体大小。
- 示范代码:
- 使用字段控制标签专题图的文本风格的示例代码,请参见:
setLabelColorExpression()。
-
getLabelFontTypeExpression
public String getLabelFontTypeExpression()
返回一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。- 返回:
- 一个字段,该字段控制标签专题图中标签文本的字体样式。
-
setLabelFontTypeExpression
public void setLabelFontTypeExpression(String value)
设置一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。指定字段后,标签的字体样式将从对应记录的该字段值中读取。- 参数:
value- 一个字段,该字段控制标签专题图中标签文本的字体样式。通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。
注:如果字段值指定的字体在当前系统中不存在,或者字段值为无值,将按照当前标签专题图所设置的具体字体进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文本风格中的字体。
- 示范代码:
- 使用字段控制标签专题图的文本风格的示例代码,请参见:
setLabelColorExpression()。
-
getLabelColorExpression
public String getLabelColorExpression()
返回一个字段,该字段为数值型字段,控制文字颜色。- 返回:
- 一个字段,该字段为数值型字段,控制文字颜色。
-
setLabelColorExpression
public void setLabelColorExpression(String value)
设置一个字段,该字段为数值型字段,控制文字颜色,指定字段后,标签的文字颜色将从对应记录的该字段值中读取。- 参数:
value- 一个字段,该字段为数值型字段,控制文字颜色。颜色值支持十六进制表达下为0xRRGGBB,即按照RGB排列。
通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。
注:如果字段值为无值,将按照当前标签专题图所设置的字体颜色的具体数值进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文本颜色。
- 示范代码:
- 使用字段控制标签专题图的文本风格的代码实现如下所示,以下示例基于一个点数据集制作标签专题图,点数据集对象为ptDataset,并且该数据集已经具有符合要求的风格字段。
//1. 新建一个标签专题图对象,用于制作示例中的点标签专题图。 ThemeLabel themeLabel = new ThemeLabel(); //2. 设置用于标注的字段。 themeLabel.setLabelExpression("ZJNR"); //3. 设置标签文本的对齐方式为中心点对齐。 themeLabel. getUniformStyle. setAlignment(TextAlignment. MiddleCenter); //4. 指定一个字段,该字段值为字体名称用来控制标签文字的字体。 themeLabel.setLabelFontTypeExpression("Font"); //5. 指定一个字段,该字段值为字高,用来控制标签文字的大小。 themeLabel.setLabelSizeExpression("FontSize"); //6. 指定一个字段,该字段值为颜色值,用来控制标签文字的颜色。 themeLabel.setLabelColorExpression( " FontColor"); //7. 指定一个字段,该字段值为旋转角度值,用来控制标签文字的旋转。 themeLabel.setLabelAngleExpression("FontAngle"); //8. 指定一个字段,该字段值为偏移距离,用来控制标签文字在水平方向的偏移量。 themeLabel.setExplodeXExpression("OffsetX"); //9. 指定一个字段,该字段值为偏移距离,用来控制标签文字在垂直方向的偏移量。 themeLabel.setExplodeYExpression("OffsetY"); //10. 将自定义标签专题图风格应用到示例中的点数据集,并添加到地图窗口中。 Layer layerTheme = mapControl.getMap().getLayers().add(ptDataset, themeLabel, true);
-
getLabelAngleExpression
public String getLabelAngleExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的旋转角度。- 返回:
- 一个字段,该字段为数值型字段,字段值控制文本的旋转角度。
-
setLabelAngleExpression
public void setLabelAngleExpression(String value)
设置一个字段,该字段为数值型字段,字段值控制文本的旋转角度。指定字段后,标签的文字旋转角度将从对应记录的该字段值中读取。- 参数:
value- 一个字段,该字段为数值型字段,字段值控制文本的旋转角度。数值单位为度。角度旋转以逆时针方向为正方向,对应数值为正值;角度值支持负值,表示沿顺时针方向旋转。
注:如果字段值为无值,将按照当前标签专题图所设置的具体角度数值进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文字旋转角度。
关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。
通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。
- 示范代码:
- 使用字段控制标签专题图的文本风格的示例代码,请参见:
setLabelColorExpression()。
-
getUniformStyle
public TextStyle getUniformStyle()
返回统一文本风格。注:当 ThemeLabelItem 的个数大于等于1的时候,setUniformStyle()将不起作用。- 返回:
- 统一文本风格。
- 默认值:
- 默认值为 {Alignment=MiddleCenter,BackColor=Color [A=255, R=0, G=0, B=0],BackOpaque=False,Bold=False,FontHeight=4,FontWidth=0,ForeColor=Color [A=255, R=0, G=0, B=255],IsSizeFixed=True,Italic=False,Outline=False,Rotation=0,Shadow=False,Strikeout=False,Underline=False,Weight=0}
-
setUniformStyle
public void setUniformStyle(TextStyle style)
设置统一文本风格。注:当 ThemeLabelItem 的个数大于等于1的时候,setUniformStyle()将不起作用。- 参数:
style- 指定统一文本风格。
-
addToHead
@Deprecated public boolean addToHead(ThemeLabelItem item)
已过时。把一个标签专题图子项添加到分段列表的开头。- 参数:
item- 需要添加的子项。- 返回:
- 一个布尔值,如果添加成功返回 true,否则返回 false。
-
addToTail
@Deprecated public boolean addToTail(ThemeLabelItem item)
已过时。把一个标签专题图子项添加到分段列表的尾部。- 参数:
item- 需要添加的标签专题图子项。- 返回:
- 一个布尔值,如果添加成功返回 true,否则返回 false。
-
isOptimizeMutilineAlignment
public boolean isOptimizeMutilineAlignment()
返回当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。该属性的设置对点标签专题图有效。
- 返回:
- 一个布尔值,指示当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。
-
setOptimizeMutilineAlignment
public void setOptimizeMutilineAlignment(boolean value)
设置当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。- 参数:
value- 一个布尔值,当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。
-
addToHead
@Deprecated public boolean addToHead(ThemeLabelItem item, boolean normalize)
已过时。把一个标签专题图子项添加到分段列表的开头。- 参数:
item- 需要添加的子项。normalize- 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。- 返回:
- 一个布尔值,如果添加成功返回 true,否则返回 false。
-
addToTail
@Deprecated public boolean addToTail(ThemeLabelItem item, boolean normalize)
已过时。把一个标签专题图子项添加到分段列表的尾部。- 参数:
item- 需要添加的标签专题图子项。normalize- 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。- 返回:
- 一个布尔值,如果添加成功返回 true,否则返回 false。
-
split
@Deprecated public boolean split(int index, double splitValue, TextStyle style1, String caption1, TextStyle style2, String caption2)
已过时。根据给定的拆分分段值将一个指定序号的标签专题图子项拆分成两个具有各自风格和名称的标签专题图子项。注:splitValue 必须在拆分的范围之内。即大于标签专题图子项的起始值(Start)并且小于标签专题图子项的终止值(End),如果不满足上述条件,则抛出异常。- 参数:
index- 指定的标签专题图子项的序号。splitValue- 指定的拆分分段值。style1- 被拆分的两个标签专题图子项中的一个标签专题图子项的风格。caption1- 被拆分的两个标签专题图子项中的一个标签专题图子项的名称。style2- 被拆分的两个标签专题图子项中的另一个标签专题图子项的风格。caption2- 被拆分的两个标签专题图子项中的另一个标签专题图子项的名称。- 返回:
- 一个布尔值,拆分成功返回 true,否则返回 false。
-
merge
@Deprecated public boolean merge(int index, int count, TextStyle style, String caption)
已过时。合并一个从指定序号起始的给定个数的标签专题图子项,并赋给合并后标签专题图子项显示风格和名称。执行该方法后,被合并的对象将被释放,不再可用。- 参数:
index- 指定的标签专题图子项的序号,并以此序号为起始。count- 要合并的标签专题图子项个数,即从指定的序号开始计算。style- 合并后的标签专题图子项的风格。caption- 合并后的标签专题图子项名称。- 返回:
- 一个布尔值,合并成功返回 true,否则返回 false。
-
clear
@Deprecated public void clear()
已过时。删除标签专题图的子项。执行该方法后,所有的标签专题图子项都被释放,不再可用。
-
makeDefault
public static ThemeLabel makeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter)
根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的标签专题图。- 参数:
dataset- 矢量数据集。rangeExpression- 分段字段表达式。rangeMode- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种模式时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。- 返回:
- 根据参数构造得到一个新的
ThemeLabel的对象实例。
-
makeDefault
public static ThemeLabel makeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的标签专题图。- 参数:
dataset- 矢量数据集。rangeExpression- 分段字段表达式。rangeMode- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType- 颜色渐变模式。- 返回:
- 根据参数构造得到一个新的
ThemeLabel的对象实例。
-
makeDefault
public static ThemeLabel makeDefault(DatasetVector dataset, String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的标签专题图。注意:通过连接外部表的方式制作专题图时,对于 UDB 数据源,连接类型不支持内连接,即不支持
JoinType.INNERJOIN连接类型。- 参数:
dataset- 矢量数据集。rangeExpression- 分段字段表达式。rangeMode- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType- 颜色渐变模式。joinItems- 外部表连接项。如果要将制作的专题图添加到地图中,作为地图中的图层,需要对该专题图图层进行以下设置,通过该专题图图层对应的 Layer 对象的 setDisplayFilter 方法,该方法中的 queryParameter 参数为 QueryParameter 对象,这里需要通过 QueryParameter 对象的 setJoinItems 方法,将专题的外部表连接项(即当前方法的 joinItems参数)指定给该专题图图层对应的 Layer 对象,这样所做的专题图在地图中显示才正确。
- 返回:
- 根据参数构造得到一个新的
ThemeLabel的对象实例。
-
indexOf
@Deprecated public int indexOf(double value)
已过时。返回标签专题图中指定分段字段值在当前分段序列中的序号。- 参数:
value- 给定的分段字段值。- 返回:
- 分段字段值在分段序列中的序号。如果该值不存在,就返回-1。
-
reverseStyle
public void reverseStyle()
对标签专题图中分段的风格进行反序显示。
-
getUniformMixedSytle
@Deprecated public MixedTextStyle getUniformMixedSytle()
已过时。方法已废弃,改用getUniformMixedStyle
-
getUniformMixedStyle
public MixedTextStyle getUniformMixedStyle()
返回标签专题图统一的文本复合风格。在图层绘制时,各种绘制风格的优先级从高到低为:
ThemeLabel.getUniformMixedStyle(),ThemeLabelItem.getStyle(),ThemeLabel.getUniformStyle(),即:当ThemeLabel.getUniformMixedStyle()与ThemeLabelItem.getStyle()或ThemeLabel.getUniformStyle()不一致时,以ThemeLabel.getUniformMixedStyle()为准。- 返回:
- 标签专题图的文本复合风格。
- 默认值:
- 默认值为空。
-
setUniformMixedSytle
@Deprecated public void setUniformMixedSytle(MixedTextStyle value)
已过时。
-
setUniformMixedStyle
public void setUniformMixedStyle(MixedTextStyle value)
设置标签专题图统一的文本复合风格。在图层绘制时,各种绘制风格的优先级从高到低为:
ThemeLabel.getUniformMixedStyle(),ThemeLabelItem.getStyle(),ThemeLabel.getUniformStyle(),即:当ThemeLabel.getUniformMixedStyle()与ThemeLabelItem.getStyle()或ThemeLabel.getUniformStyle()不一致时,以ThemeLabel.getUniformMixedStyle()为准。- 参数:
value- 标签专题图的文本复合风格。
-
getLabels
public LabelMatrix getLabels()
返回标签专题图中的矩阵标签。在矩阵标签中,标签以矩阵的形式排列在一起。- 返回:
- 标签专题图中的矩阵标签。
- 默认值:
- 默认值为空。
-
setLabels
public void setLabels(LabelMatrix labelMatrix)
设置标签专题图中的矩阵标签。在矩阵标签中,标签以矩阵的形式排列在一起。- 参数:
labelMatrix- 标签专题图中的矩阵标签。
-
getParent
public ThemeLabel getParent()
返回当前标签专题图所归属的专题图,即其父对象。- 返回:
ThemeLabel对象。- 默认值:
- 默认值为空。
-
getNumericPrecision
public int getNumericPrecision()
返回标签中数字的精度。例如标签对应的数字是 8071.64529347,返回值为0时,显示8071,为1时,显示8071.6;为3时,则是8071.645。。- 返回:
- 标签中数字的精度。
- 默认值:
- 默认值为 -1。
-
setNumericPrecision
public void setNumericPrecision(int value)
设置标签中数字的精度。例如标签对应的数字是8071.64529347,返回值为0时,显示8071,为1时,显示8071.6;为3时,则是8071.645。- 参数:
value- 标签中数字的精度。
-
getMaxTextHeight
public int getMaxTextHeight()
返回标签中文本的最大高度。该方法在标签不固定大小时有效,当放大后的文本高度超过最大高度之后就不再放大。高度单位为 0.1 毫米。
- 返回:
- 标签中文本的最大高度。
- 默认值:
- 默认值为 0。
-
setMaxTextHeight
public void setMaxTextHeight(int value)
设置标签中文本的最大高度。该方法在标签不固定大小时有效,当放大后的文本高度超过最大高度之后就不再放大。高度单位为 0.1 毫米。
- 参数:
value- 标签中文本的最大高度。
-
getMinTextHeight
public int getMinTextHeight()
返回标签中文本的最小高度。- 返回:
- 标签中文本的最小高度。
- 默认值:
- 默认值为 0。
-
setMinTextHeight
public void setMinTextHeight(int value)
设置标签中文本的最小高度。- 参数:
value- 标签中文本的最小高度。
-
getMaxTextWidth
public int getMaxTextWidth()
返回标签中文本的最大宽度。- 返回:
- 标签中文本的最大宽度。
- 默认值:
- 默认值为 0。
-
setMaxTextWidth
public void setMaxTextWidth(int value)
设置标签中文本的最大宽度。- 参数:
value- 标签中文本的最大宽度。
-
getMinTextWidth
public int getMinTextWidth()
返回标签中文本的最小宽度。- 返回:
- 标签中文本的最小宽度。
- 默认值:
- 默认值为 0。
-
setMinTextWidth
public void setMinTextWidth(int value)
设置标签中文本的最小宽度。- 参数:
value- 标签中文本的最小宽度。
-
getTextExtentInflation
public Size2D getTextExtentInflation()
返回标签中文本在 X,Y 正方向上的缓冲范围。通过设置该值可以修改文本在地图中所占空间的大小,必须非负。- 返回:
- 标签中文本在 X,Y 正方向上的缓冲范围。
- 默认值:
- 默认值为 {Width=0,Height=0}。
-
setTextExtentInflation
public void setTextExtentInflation(Size2D value)
设置标签中文本在 X,Y 正方向上的缓冲范围。通过设置该值可以修改文本在地图中所占空间的大小,必须非负。- 参数:
value- 标签中文本在 X,Y 正方向上的缓冲范围。
-
isRepeatedLabelAvoided
public boolean isRepeatedLabelAvoided()
返回是否避免地图重复标注。对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即
setAlongLine(true))时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如下图所示。
- 返回:
- 一个布尔值,避免地图重复标注返回 true,否则返回 false。
- 默认值:
- 默认值为 false。
-
setRepeatedLabelAvoided
public void setRepeatedLabelAvoided(boolean value)
设置是否避免地图重复标注。对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即
setAlongLine(true))时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如右图所示。
- 参数:
value- 一个布尔值指定是否避免地图重复标注。
-
isOffsetFixed
public boolean isOffsetFixed()
返回当前标签专题图是否固定标记文本的偏移量。固定标记文本的偏移量,则标签的偏移量不随地图的缩放而变化。- 返回:
- 一个布尔值,固定标记文本的偏移量返回 true,否则返回 false。
- 默认值:
- 默认值为 false。
-
setOffsetFixed
public void setOffsetFixed(boolean value)
设置当前标签专题图是否固定标记文本的偏移量。固定标记文本的偏移量,则标签的偏移量不随地图的缩放而变化。- 参数:
value- 一个布尔值指定是否固定标记文本的偏移量。
-
isAutoAdjustRegionLabel
public boolean isAutoAdjustRegionLabel()
返回是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。- 返回:
- 是否自动根据面对象的宽度和高度竖排标签。
当设置该属性时,忽略IsVertical属性的设置。
不支持矩阵标签、复合风格的标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
- 默认值:
- 默认值为false,表示文字不自动根据面对象的宽度和高度竖排标签。
-
setAutoAdjustRegionLabel
public void setAutoAdjustRegionLabel(boolean value)
设置是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。当设置该属性时,忽略IsVertical属性的设置。
不支持矩阵标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
- 参数:
value- 一个布尔值,指定是否自动根据面对象的宽度和高度竖排标签,true,表示文字自动根据面对象的宽度和高度竖排标签,false,表示文字不自动根据面对象的宽度和高度竖排标签。
-
isVertical
public boolean isVertical()
返回是否使用竖排标签。- 返回:
- 是否使用竖排标签。
不支持矩阵标签、复合风格的标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
- 默认值:
- 默认值为false,表示文字不竖排。
-
setVertical
public void setVertical(boolean value)
设置是否使用竖排标签。不支持矩阵标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
- 参数:
value- 一个布尔值,指定是否使用竖排标签,true,表示文字竖排,false,表示文字不竖排。
-
getTextSpaceing
@Deprecated public double getTextSpaceing()
已过时。
-
getTextSpacing
public double getTextSpacing()
获取文本的间距,以字高为单位。- 返回:
- 文本的间距。
不支持矩阵标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
当地图有旋转角度时,不支持设置文本的间距。
- 默认值:
- 默认值为0。
-
setTextSpaceing
@Deprecated public void setTextSpaceing(double value)
已过时。
-
setTextSpacing
public void setTextSpacing(double value)
设置文本的间距,以字高为单位。不支持矩阵标签和沿线标注。
不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。
当地图有旋转角度时,不支持设置文本的间距。
- 参数:
value- 文本的间距。
-
dispose
public void dispose()
释放对象所占用的资源。调用该方法之后,此对象不再可用。
-
isAllDirectionsOverlapedAvoided
@Deprecated public boolean isAllDirectionsOverlapedAvoided()
已过时。返回是否允许以全方向文本避让。通常文本避让是以全方向进行的,虽然避让比较合理,但会影响显示效率;如果提高显示效率,请设置
setAllDirectionsOverlapedAvoided()方法为 false。全方向即指以文本外边框和基准线而形成的12个方向,如下图所示;

四方向是指以文本外边矩形框的四个角点方向,如图下图所示。

- 返回:
- 如果全方向文本避让即为 true,如果四方向文本避让为 false。
-
isAllDirectionsOverlappedAvoided
@Deprecated public boolean isAllDirectionsOverlappedAvoided()
已过时。返回是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。备注说明:在SuperMap GIS 8C 版本以前,true表示以八方向进行文本避让;false表示以四两方向进行文本避让。
- 返回:
- 一个布尔值,指示是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。
-
getOverlapeAvoidMode
public AvoidMode getOverlapeAvoidMode()
返回标签专题图中标签文本的避让方式。- 返回:
- 返回标签专题图中标签文本的避让方式。
-
setAllDirectionsOverlapedAvoided
@Deprecated public void setAllDirectionsOverlapedAvoided(boolean value)
已过时。设置是否允许以全方向文本避让。通常文本避让是以全方向进行的,虽然避让比较合理,但会影响显示效率;如果提高显示效率,请设置
setAllDirectionsOverlapedAvoided()方法为 false。- 参数:
value- 一个布尔值指定是否以全方向文本避让。
-
setAllDirectionsOverlappedAvoided
@Deprecated public void setAllDirectionsOverlappedAvoided(boolean value)
已过时。设置是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。四方向避让是选择文本外边矩形框的四个角点方向做为避让方向。两方向避让方向与标签的对齐方式有关,将选择对齐方式的对称方向进行避让,例如:如果对齐为左中点,那么避让方向为右中点。
备注说明:在SuperMap GIS 8C 版本以前,true表示以八方向进行文本避让;false表示以四方向进行文本避让。
- 参数:
value- 一个布尔值,指示是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。
-
setOverlapeAvoidMode
public void setOverlapeAvoidMode(AvoidMode value)
设置标签专题图中标签文本的避让方式。- 参数:
value- 标签专题图中标签文本的避让方式。
-
getAlongLineSpaceRatio
public double getAlongLineSpaceRatio()
返回沿线文本间隔比率,该方法只对沿线标注起作用。该值为字高的倍数。
注意:
1.该值大于1就以线中心为准,按指定间隔往两边标注;
2.该值在0到1之间(包含1)就在线中心按照沿线角度标注单个文本。
3.该值小于等于0采用默认的沿线标注模式。
- 返回:
- 沿线文本间隔比率,该方法只对沿线标注起作用。
-
setAlongLineSpaceRatio
public void setAlongLineSpaceRatio(double value)
设置沿线文本间隔比率,该方法只对沿线标注起作用。该值为字高的倍数。
注意:
1.该值大于 1 就以线中心为准,按指定间隔往两边标注;
2.该值在 0 到 1 之间(包含1)就在线中心按照沿线角度标注单个文本。
3.该值小于等于 0 采用默认的沿线标注模式。
- 参数:
value- 沿线文本间隔比率。
-
fromXML
public boolean fromXML(String xml)
通过包含专题图信息的 XML 字符串来初始化标签专题图
-
getRangeMode
public RangeMode getRangeMode()
返回当前的分段模式。- 返回:
- 当前的分段模式。
-
getCustomInterval
public double getCustomInterval()
获取自定义段长。- 返回:
- 自定义段长。
-
isTextExpression
public boolean isTextExpression()
返回是否支持文本表达式,即上下标功能。- 返回:
- 是否支持文本表达式,即上下标功能。
- 默认值:
- 默认值为false,不支持文本表达式,即上下标功能。
-
setTextExpression
public void setTextExpression(boolean value)
设置是否支持文本表达式,即上下标功能。当选择字段为文本类型,文本中含有上下标,并且是根据特定的标准时(文本表达式请参考下面说明),需要设置此属性,以便正确显示文本(如下右图)。下图为分别设置此属性值为false和true时的效果对比:

注意:
- 当设置该属性为true后,具有上下标的文本的标签的对齐方式只能显示为“左上角”效果,不具有上下标的文本的标签的对齐方式与文本风格中设置的对齐方式相同。
- 不支持有旋转角度的文本标签,即文本标签的旋转角度不为0时,该属性的设置无效。
- 不支持竖排、换行显示的文本标签。
- 不支持包含删除线、下划线、分隔符的文本标签。
- 不支持线数据集的标签专题图沿线标注的文本标签。
- 当地图有旋转角度时,设置了支持文本表达式的文本标签不随地图的旋转而旋转。
- 不支持特殊符号的标签专题图的文本标签。
- 含有上下标的文本表达式中,#+表示上标;#-表示下标,#=表示分割一个字符串为两个上下标部分。
- 设置了支持文本表达式的文本标签如果以"#+"、"#-"、"#="开始,整个字符串原样输出。
- 遇到#+或者#-,后边紧挨着的字符串都当成上下标内容、当第三次遇到#+或#-时采用新串规则。
- 含有上下标的文本表达式中,两个连续的"#+"的效果同一个"#-",两个连续的"#-"的效果同一个"#+"。
- 目前支持该功能的标签专题图类型为统一风格标签专题图,分段风格标签专题图和标签矩阵专题图。
下图为分别设置此属性值为false和true时的效果对比:

下图为分别设置此属性值为flse和true时的效果对比。

下图为分别设置此属性值为false和true时的效果对比:

- 参数:
value- 一个布尔值,指定是否支持文本表达式,即上下标功能,true,表示支持文本表达式,false,表示不支持。
-
getSplitSeparator
public char getSplitSeparator()
获取用于标签文本换行的换行符,可以为:“/”、“;”、空格等。如果通过setOverLengthMode接口设置了NEWLINE值,即换行方式,并且通过setSplitSeparator接口同时设置了换行符,那么,标签文本将按照特殊字符指定的位置进行换行显示。
当标签专题图使用换行的方式进行超长文本处理时,可以通过给定特殊字符的方式控制文本的换行位置,这就需要您提前做好数据准备,在用于标注的字段中,在字段值需要换行的位置加入您设定的换行符,如“/”、“;”、空格,当使用特殊字符换行时,将在出现指定的特殊字符处进行换行,并且指定的特殊字符不显示。
-
setSplitSeparator
public void setSplitSeparator(char value)
设置用于标签文本换行的换行符,可以为:“/”、“;”、空格等。如果通过setOverLengthMode接口设置了NEWLINE值,即换行方式,并且通过setSplitSeparator接口同时设置了换行符,那么,标签文本将按照特殊字符指定的位置进行换行显示。
当标签专题图使用换行的方式进行超长文本处理时,可以通过给定特殊字符的方式控制文本的换行位置,这就需要您提前做好数据准备,在用于标注的字段中,在字段值需要换行的位置加入您设定的换行符,如“/”、“;”、空格,当使用特殊字符换行时,将在出现指定的特殊字符处进行换行,并且指定的特殊字符不显示。
- 参数:
value- 用于标签文本换行的换行符。
-
getUniqueItems
public ThemeLabelUniqueItems getUniqueItems()
返回单值标签专题图子项集合。基于单值字段表达式值相同的对象标签为一类,一个单值对应一个单值标签专题图子项。- 返回:
- 返回单值标签专题图子项集合。
-
getRangeItems
public ThemeLabelRangeItems getRangeItems()
返回分段标签专题图子项集合。基于字段表达式值的分段结果,一个分段对应一个分段标签专题图子项。- 返回:
- 返回分段标签专题图子项集合。
-
isOnTop
public boolean isOnTop()
返回标签专题图图层是否显示在最上层。这里的最上层是指所有非标签专题图图层的上层。一般制图时,都会把地图中标签专题图图层放在所有非标签专题图图层的最前面,但当使用了图层分组时,分组内的标签专题图层有可能被位于上层图层分组中的其他普通图层掩盖,为了即保持图层分组状态,又要使标签不被掩盖,可以使用setOnTop方法传入true值,标签专题图不论当前在地图中的位置,都将显示在最前面;如果有多个标签专题图图层都通过setOnTop方法传入true值,那么他们之间显示顺序,由他们所在地图的图层顺序决定。
- 返回:
- 一个布尔值,指示标签专题图图层是否显示在最上层;true,表示显示在最上层,这里的最上层是指所有非标签专题图图层的上层;否则为false,将按照原来的图层显示顺序显示。
-
setOnTop
public void setOnTop(boolean value)
设置标签专题图图层是否显示在最上层。这里的最上层是指所有非标签专题图图层的上层。一般制图时,都会把地图中标签专题图图层放在所有非标签专题图图层的最前面,但当使用了图层分组时,分组内的标签专题图层有可能被位于上层图层分组中的其他普通图层掩盖,为了即保持图层分组状态,又要使标签不被掩盖,可以使用setOnTop方法传入true值,标签专题图不论当前在地图中的位置,都将显示在最前面;如果有多个标签专题图图层都通过setOnTop方法传入true值,那么他们之间显示顺序,由他们所在地图的图层顺序决定。
- 参数:
value- 标签专题图图层是否显示在最上层;true,表示显示在最上层,这里的最上层是指所有非标签专题图图层的上层;否则为false,将按照原来的图层显示顺序显示。
-
makeDefault
public static ThemeLabel makeDefault(String[] values, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
根据给定的单值、单值字段表达式、渐变颜色类型和外部连接表项参数生成默认的单值标签专题图。- 参数:
values- 单值uniqueExpression- 指定一个字段或者多个字段组成的表达式。该表达式的值用来对对象标签进行分类,值相同的对象标签为一类使用相同的风格显示,不同类的标签使用不同风格显示。colorGradientType- 颜色渐变模式。joinItems- 外部表连接项。- 返回:
- 返回制作好的单值标签专题图对象。
- 抛出:
IllegalStateException- 当前对象已被释放
-
makeDefault
public static ThemeLabel makeDefault(DatasetVector dataset, String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
根据给定的矢量数据集、单值字段表达式、颜色渐变模式和和外部连接表项参数生成默认的单值标签专题图。- 参数:
dataset- 用于制作单值标签专题图的矢量数据集。uniqueExpression- 指定一个字段或者多个字段组成的表达式。该表达式的值用来对对象标签进行分类,值相同的对象标签为一类使用相同的风格显示,不同类的标签使用不同风格显示。colorGradientType- 颜色渐变模式。joinItems- 外部表连接项。- 返回:
- 返回制作好的单值标签专题图对象。
-
getAlongLineWordAngleRange
public int getAlongLineWordAngleRange()
返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。沿线标注中,中文标签与英文标签为了适应弯曲线的走势,文字或者字母会发生旋转,但是单个字或者字母始终与其当前标注点位的切线方向垂直,因此,会出现如下图所示的效果,相邻字或者字母形成一定的夹角,当线的弯曲度较大时,夹角也增大,会出现标签整体不美观的效果。因此,该接口通过一个给定的容限值,限制相邻字或者字母夹角最大值,以保证沿线标注的美观性。
夹角容限值越小,标签越紧凑,但弯度大的地方可能就无法进行标注;夹角容限值越大,弯度大的地方也能显示标注,但是沿线标注的美观性降低了。



沿线标注中字与字或者字母与字母间相对角度指的是什么?如下图所示:

- 返回:
- 返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。
-
setAlongLineWordAngleRange
public void setAlongLineWordAngleRange(int value)
设置沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。沿线标注中,中文标签与英文标签为了适应弯曲线的走势,文字或者字母会发生旋转,但是单个字或者字母始终与其当前标注点位的切线方向垂直,因此,会出现如下图所示的效果,相邻字或者字母形成一定的夹角,当线的弯曲度较大时,夹角也增大,会出现标签整体不美观的效果。因此,该接口通过一个给定的容限值,限制相邻字或者字母夹角最大值,以保证沿线标注的美观性。
夹角容限值越小,标签越紧凑,但弯度大的地方可能就无法进行标注;夹角容限值越大,弯度大的地方也能显示标注,但是沿线标注的美观性降低了。



沿线标注中字与字或者字母与字母间相对角度指的是什么?如下图所示:

- 参数:
value- 沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。
-
isAlongLineResampleSmooth
public boolean isAlongLineResampleSmooth()
获取是否沿线标注重采样,即对于高密集点的线段做重采样和光滑处理,然后再沿线标注- 返回:
- 是否沿线标注重采样
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineResampleSmooth
public void setAlongLineResampleSmooth(boolean value)
设置是否沿线标注重采样,即对于高密集点的线段做重采样和光滑处理,然后再沿线标注- 参数:
value- 是否沿线标注重采样- 抛出:
IllegalStateException- 当前对象已被释放
-
getAlongLineResampleTolerance
public double getAlongLineResampleTolerance()
获取沿线标注重采样的容限值,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)- 返回:
- 沿线标注重采样的容限值
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineResampleTolerance
public void setAlongLineResampleTolerance(double value)
设置沿线标注重采样的容限值,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)- 参数:
value- 沿线标注重采样的容限值- 抛出:
IllegalStateException- 当前对象已被释放
-
getAlongLineSmoothness
public int getAlongLineSmoothness()
获取沿线标注重采样的光滑系数,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)- 返回:
- 沿线标注重采样的光滑系数
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineSmoothness
public void setAlongLineSmoothness(int value)
设置沿线标注重采样的光滑系数,需要开启重采样才能有效:ThemeLabel.setAlongLineResampleLine(boolean)- 参数:
value- 沿线标注重采样的光滑系数- 抛出:
IllegalStateException- 当前对象已被释放
-
getAlongLineDrawingMode
public AlongLineDrawingMode getAlongLineDrawingMode()
返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。- 返回:
- 返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。
-
setAlongLineDrawingMode
public void setAlongLineDrawingMode(AlongLineDrawingMode value)
设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。- 参数:
value- 设置在沿线标注中,标签绘制所采用的策略。- 抛出:
IllegalStateException- 当前对象已被释放
-
isRarefyPoints
public boolean isRarefyPoints()
返回显示点标签专题图时,是否自动抽稀点,以节省绘制时间。true表示自动抽稀;false表示不抽稀。对于大数据量的点标签专题图,当地图比例尺比较小的时候,点分布密集,点标签的显示又需要计算避让关系,所以一般会影响显示效率,通过在小比例尺下对点进行抽稀,节约计算避让关系等的时间,提升显示效率。
- 返回:
- 一个布尔值,指示显示点标签专题图时,是否自动抽稀点,以节省绘制时间。true表示自动抽稀;false表示不抽稀。
-
setRarefyPoints
public void setRarefyPoints(boolean value)
设置显示点标签专题图时,是否自动抽稀点,以节省绘制时间。true表示自动抽稀;false表示不抽稀。对于大数据量的点标签专题图,当地图比例尺比较小的时候,点分布密集,点标签的显示又需要计算避让关系,所以一般会影响显示效率,通过在小比例尺下对点进行抽稀,节约计算避让关系等的时间,提升显示效率。
- 参数:
value- 一个布尔值,指示显示点标签专题图时,是否自动抽稀点,以节省绘制时间。true表示自动抽稀;false表示不抽稀。
-
getRarefyPointsRadius
public double getRarefyPointsRadius()
返回自动抽稀点的容限,逻辑坐标,单位为0.1mm。当点标签专题图开启了自动抽稀功能,以节约绘制时间时,将根据该方法返回值所指定的容限对点进行抽稀,判断当前点与其他点的关系,以当前点为圆心,以getRarefyPointsRadius返回值为半径,在此范围内的点将被抽稀掉。
- 返回:
- 返回自动抽稀点的容限,逻辑坐标,单位为0.1mm。
-
setRarefyPointsRadius
public void setRarefyPointsRadius(double value)
设置自动抽稀点的容限,逻辑坐标,单位为0.1mm。当点标签专题图开启了自动抽稀功能,以节约绘制时间时,将根据该方法返回值所指定的容限对点进行抽稀,判断当前点与其他点的关系,以当前点为圆心,以getRarefyPointsRadius返回值为半径,在此范围内的点将被抽稀掉。
- 参数:
value-
-
getRarefyThreshold
public int getRarefyThreshold()
返回自动抽稀点的阈值。目前使用点对象的总数(RecordsetCount)来控制,超过阈值(所设置的点对象的总数)就会触发抽稀算法,当setRarefyPoints方法传入true值时,将根据setRarefyPointsRadius方法设定的范围对点抽稀。- 返回:
- 返回自动抽稀点的阈值。目前使用点对象的总数(RecordsetCount)来控制,超过阈值(所设置的点对象的总数)就会触发抽稀算法。
-
setRarefyThreshold
public void setRarefyThreshold(int value)
设置自动抽稀点的阈值。目前使用点对象的总数(RecordsetCount)来控制,超过阈值(所设置的点对象的总数)就会触发抽稀算法,当setRarefyPoints方法传入true值时,将根据setRarefyPointsRadius方法设定的范围对点抽稀。- 参数:
value- 自动抽稀点的阈值。目前使用点对象的总数(RecordsetCount)来控制,超过阈值(所设置的点对象的总数)就会触发抽稀算法。
-
isAlongLineSelfOverlap
public boolean isAlongLineSelfOverlap()
沿线标签是否开启显示自压盖对象- 返回:
- 是否开启显示自压盖对象
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineSelfOverlap
public void setAlongLineSelfOverlap(boolean value)
设置沿线标签是否开启显示自压盖对象- 参数:
value- 是否开启显示自压盖对象- 抛出:
IllegalStateException- 当前对象已被释放
-
getAlongLineLabelMode
public AlongLineLabelMode getAlongLineLabelMode()
获取沿线标注的显示模式。默认为普通沿线标签。AlongLineLabelMode- 返回:
- 沿线标注的显示模式
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineLabelMode
public void setAlongLineLabelMode(AlongLineLabelMode value)
设置沿线标注的显示模式。AlongLineLabelMode- 参数:
value- 沿线标注的显示模式- 抛出:
IllegalStateException- 当前对象已被释放IllegalArgumentException- 参数异常
-
setIsDisplayByDomain
public void setIsDisplayByDomain(boolean value)
设置是否根据值域显示。开启根据值域显示时,标签内容将形式为 #name# 的内容寻找合适的值域值进行转换。- 参数:
value- 是否根据值域显示- 抛出:
IllegalStateException- 当前对象已被释放
-
getIsDisplayByDomain
public boolean getIsDisplayByDomain()
获取是否根据值域显示。开启根据值域显示时,标签内容将形式为 #name# 的内容寻找合适的值域值进行转换。- 返回:
- 是否根据值域显示
- 抛出:
IllegalStateException- 当前对象已被释放
-
setIsOnlyDrawWithinRegionText
public void setIsOnlyDrawWithinRegionText(boolean value)
设置是否只绘制面内标签- 参数:
value- 是否只绘制面内标签- 抛出:
IllegalStateException- 当前对象已被释放
-
isOnlyDrawWithinRegionText
public boolean isOnlyDrawWithinRegionText()
获取是否只绘制面内标签- 返回:
- 是否只绘制面内标签
- 抛出:
IllegalStateException- 当前对象已被释放
-
setDrawTextInCenterLine
public void setDrawTextInCenterLine(boolean value)
-
isDrawTextInCenterLine
public boolean isDrawTextInCenterLine()
-
setIsShowTextInRegionThrend
public void setIsShowTextInRegionThrend(boolean value)
设置是否面标签沿面趋势方向显示- 参数:
value- 是否面标签沿面趋势方向显示- 抛出:
IllegalStateException- 当前对象已被释放
-
isShowTextInRegionThrend
public boolean isShowTextInRegionThrend()
获取是否面标签沿面趋势方向显示- 返回:
- 是否面标签沿面趋势方向显示
- 抛出:
IllegalStateException- 当前对象已被释放
-
getAlongLineAllowCondition
public AlongLineAllowCondition getAlongLineAllowCondition()
获取沿线标注在特殊情况下的允许模式。AlongLineAllowCondition- 返回:
- 沿线标注允许模式
- 抛出:
IllegalStateException- 当前对象已被释放
-
setAlongLineAllowCondition
public void setAlongLineAllowCondition(AlongLineAllowCondition value)
设置沿线标注在特殊情况下的允许模式。AlongLineAllowCondition- 参数:
value- 沿线标注允许模式- 抛出:
IllegalStateException- 当前对象已被释放IllegalArgumentException- 参数异常
-
getAlongLineMoreThanLineMultiple
public double getAlongLineMoreThanLineMultiple()
获取沿线标注的超长标签可超过标注线对象长度的倍数- 返回:
- 沿线标注的超长标签可超过标注线对象长度的倍数
- 抛出:
IllegalStateException- 当前对象已被释放- 从以下版本开始:
- 11.2
-
setAlongLineMoreThanLineMultiple
public void setAlongLineMoreThanLineMultiple(double value)
设置沿线标注的超长标签可超过标注线对象长度的倍数- 参数:
value- 沿线标注的超长标签可超过标注线对象长度的倍数,值域范围:(1,+∞)- 抛出:
IllegalStateException- 当前对象已被释放IllegalArgumentException- 参数value值超出取值范围- 从以下版本开始:
- 11.2
-
setAlongLineAutoAvoid
public void setAlongLineAutoAvoid(boolean value)
设置是否沿线查找合适的位置进行沿线标注。基本原理是:对当前线对象进行沿线标注时,默认会选择一个标注位置,然后判断与周围标签是否存在压盖,若存在压盖,如果使用setAlongLineAutoAvoid方法设置了false(默认值为false),则此线对象的标签将不进行绘制,也就是这个线对象的标签不显示;如果使用setAlongLineAutoAvoid方法设置了true,程序则会沿着这个线对象寻找其他放置标签的位置,这样不断地寻找,直至选择一个合适的位置放置标签,因此,这样会最大限度地显示沿线标签。- 参数:
value- 一个布尔值,指示是否沿线查找合适的位置进行沿线标注。
-
isAlongLineAutoAvoid
public boolean isAlongLineAutoAvoid()
返回是否沿线查找合适的位置进行沿线标注。默认值为false。 沿线查找合适的位置进行沿线标注。基本原理是:对当前线对象进行沿线标注时,默认会选择一个标注位置,然后判断与周围标签是否存在压盖,若存在压盖,如果使用setAlongLineAutoAvoid方法设置了false(默认值为false),则此线对象的标签将不进行绘制,也就是这个线对象的标签不显示;如果使用setAlongLineAutoAvoid方法设置了true,程序则会沿着这个线对象寻找其他放置标签的位置,这样不断地寻找,直至选择一个合适的位置放置标签,因此,这样会最大限度地显示沿线标签。- 返回:
- 一个布尔值,指示是否沿线查找合适的位置进行沿线标注。true 表示将沿线查找合适的位置进行沿线标注。
-
setAlongLineResampleLine
public void setAlongLineResampleLine(boolean value)
设置是否对复杂线型进行预处理后再进行沿线标注。true 表示对复杂线型进行预处理后再进行沿线标注。默认值为false。 对复杂线型进行预处理后再进行沿线标注是为了解决之前线型弯曲较多不显示沿线标签的问题,通过将其设置为true,就可以先对复杂线型拟合一个非复杂线型,例如:弯曲较多的线型拟合一个平滑的曲线,拟合后,在对这个拟合后的虚拟线型进行沿线标注。不过,这种标注方案可能会导致线型的沿线标签偏离所标注的真实线型。因此,用户需要根据具体的数据情况和需求,确认是否使用对复杂线型进行预处理后再进行沿线标注的能力。- 参数:
value- 一个布尔值,指示是否对复杂线型进行预处理再进行沿线标注。
-
isAlongLineResampleLine
public boolean isAlongLineResampleLine()
返回是否对复杂线型进行预处理后再进行沿线标注。默认值为false。 对复杂线型进行预处理后再进行沿线标注是为了解决之前线型弯曲较多不显示沿线标签的问题,通过将其设置为true,就可以先对复杂线型拟合一个非复杂线型,例如:弯曲较多的线型拟合一个平滑的曲线,拟合后,在对这个拟合后的虚拟线型进行沿线标注。不过,这种标注方案可能会导致线型的沿线标签偏离所标注的真实线型。因此,用户需要根据具体的数据情况和需求,确认是否使用对复杂线型进行预处理后再进行沿线标注的能力。- 返回:
- 一个布尔值,指示是否对复杂线型进行预处理后再进行沿线标注。
-
setAlongLineTextFollowLine
public void setAlongLineTextFollowLine(boolean value)
设置沿线标注时文本是否随线方向保持一致。- 参数:
value- 方向是否一致- 抛出:
IllegalStateException- 当前对象已经释放时,再次调用该接口时抛出 IllegalStateException 异常。- 从以下版本开始:
- 11.2.0
-
isAlongLineTextFollowLine
public boolean isAlongLineTextFollowLine()
获取沿线标注时文本是否随线方向保持一致。- 返回:
- 方向是否一致
- 抛出:
IllegalStateException- 当前对象已经释放时,再次调用该接口时抛出 IllegalStateException 异常。- 从以下版本开始:
- 11.2.0
-
setDraftLinePositionMode
public void setDraftLinePositionMode(DraftLinePositionMode value)
设置牵引线的连接锚点。DraftLinePositionMode- 参数:
value- 牵引线的连接锚点- 抛出:
IllegalStateException- 当前对象已被释放
-
getDraftLinePositionMode
public DraftLinePositionMode getDraftLinePositionMode()
获取牵引线的连接锚点。DraftLinePositionMode- 返回:
- 牵引线的连接锚点
- 抛出:
IllegalStateException- 当前对象已被释放
-
setDraftLineAtNearestPosition
public void setDraftLineAtNearestPosition(boolean value)
设置牵引线是否使用DraftLinePositionMode对齐点中最近的点作为锚点。- 参数:
value- 是否使用最近对齐点,true代表开启,则ThemeLabel.setDraftLinePositionMode(DraftLinePositionMode)方法设置无效,false反之。- 抛出:
IllegalStateException- 当前对象被释放。- 从以下版本开始:
- 12.0.1
-
isDraftLineAtNearestPosition
public boolean isDraftLineAtNearestPosition()
获取牵引线是否使用DraftLinePositionMode对齐点中最近的点作为锚点。- 返回:
- 返回是否使用最近对齐点,默认值为false。
- 抛出:
IllegalStateException- 当前对象被释放。- 从以下版本开始:
- 12.0.1
-
setDrawBackShadow
public void setDrawBackShadow(boolean value)
设置是否显示标签阴影- 参数:
value- 是否显示标签阴影- 抛出:
IllegalStateException- 当前对象已被释放
-
isDrawBackShadow
public boolean isDrawBackShadow()
获取是否显示标签阴影- 返回:
- 是否显示标签阴影
- 抛出:
IllegalStateException- 当前对象已被释放
-
setLabelCoverLine
public void setLabelCoverLine(boolean value)
设置是否标签掩膜。(仅支持线与面)- 参数:
value- 是否标签掩膜- 抛出:
IllegalStateException- 当前对象已被释放
-
isLabelCoverLine
public boolean isLabelCoverLine()
获取是否标签掩膜。(仅支持线与面)- 返回:
- 是否标签掩膜
- 抛出:
IllegalStateException- 当前对象已被释放
-
getShadowOffsetRatioX
public double getShadowOffsetRatioX()
返回阴影的水平偏移量- 返回:
- double
-
setShadowOffsetRatioX
public void setShadowOffsetRatioX(double value)
设置阴影的水平偏移量- 参数:
value- double
-
getShadowOffsetRatioY
public double getShadowOffsetRatioY()
返回阴影的垂直偏移量- 返回:
- double
-
setShadowOffsetRatioY
public void setShadowOffsetRatioY(double value)
设置阴影的垂直偏移量- 参数:
value- double
-
getShadowColor
public Color getShadowColor()
返回边线的颜色- 返回:
- Color
-
setShadowColor
public void setShadowColor(Color value)
设置边线的颜色- 参数:
value- Color
-
setDraftLineTypeMode
public void setDraftLineTypeMode(DraftLineTypeMode value)
设置牵引线类型。默认为直线。DraftLineTypeMode- 参数:
value- 牵引线类型- 抛出:
IllegalStateException- 当前对象已被释放
-
getDraftLineTypeMode
public DraftLineTypeMode getDraftLineTypeMode()
获取牵引线类型。默认为直线。DraftLineTypeMode- 返回:
- 牵引线类型
- 抛出:
IllegalStateException- 当前对象已被释放
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.