com.supermap.mapping
类 ThemeLabel

java.lang.Object
  继承者 com.supermap.mapping.Theme
      继承者 com.supermap.mapping.ThemeLabel

public class ThemeLabel
extends Theme

标签专题图类。

标签专题图的标注可以是数字、字母与文字,例如:河流、湖泊、海洋、山脉、城镇、村庄等地理名称,高程、等值线数值、河流流速、公路段里程、航海线里程等。

在标签专题图中,你可以对标签的显示风格和位置进行设置或控制,你可以为所有的标签都设置统一的显示风格和位置选项来显示;也可以通过单值标签专题图,基于指定字段表达式的值进行分类,值相同的对象标签为一类使用相同的风格显示,不同类的标签使用不同风格显示;还可以通过分段标签专题图,基于指定字段表达式的值进行分段,同一段内的对象标签相同的风格显示,不同段的标签使用不同风格显示。

另外,单个标签的位置也是可以通过 Layer.setThemeElementPosition 接口修改的。

标签专题图有多种类型:统一标签专题图、单值标签专题图、复合风格标签专题图、分段标签专题图以及自定义标签专题图,通过ThemeLabel类可以实现以上所有风格标签专题图的设置,建议用户不要同时设置两种或两种以上的风格,如果同时设置了多种风格,标签专题图的显示将按照下表的优先级情况进行风格显示:

注:地图上一般还会出现图例说明,图名,比例尺等等,那些都是制图元素,不属于标签专题图标注的范畴。

注意:如果通过连接(Join)或关联(Link)的方式与一个外部表建立了联系,当专题图的专题变量用到外部表的字段时,在显示专题图时,需要调用 Layer.setDisplayFilter() 方法,否则专题图将创建失败。


构造方法摘要
ThemeLabel()
          默认构造函数,构造一个新的 ThemeLabel 对象。
ThemeLabel(ThemeLabel themeLabel)
          拷贝构造函数,根据给定的 ThemeLabel 对象构造一个与其完全相同的新对象。
 
方法摘要
 boolean addToHead(ThemeLabelItem item)
          已过时。 
 boolean addToHead(ThemeLabelItem item, boolean normalize)
          已过时。 
 boolean addToTail(ThemeLabelItem item)
          已过时。 
 boolean addToTail(ThemeLabelItem item, boolean normalize)
          已过时。 
 void clear()
          已过时。 
 void dispose()
          释放对象所占用的资源。
 AlongLineCulture getAlongLineCulture()
          返回沿线标注使用的语言文化习惯。
 AlongLineDirection getAlongLineDirection()
          返回标签沿线标注方向。
 AlongLineDrawingMode getAlongLineDrawingMode()
          返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。
 double getAlongLineSpaceRatio()
          返回沿线文本间隔比率,该方法只对沿线标注起作用。
 int getAlongLineWordAngleRange()
          返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。
 LabelBackShape getBackShape()
          返回标签专题图中的标签背景的形状类型。
 GeoStyle getBackStyle()
          返回标签专题图中的标签背景风格。
 int getCount()
          已过时。  
 double getCustomInterval()
          获取自定义段长。
 java.lang.String getExplodeXExpression()
          返回一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。
 java.lang.String getExplodeYExpression()
          返回一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。
 ThemeLabelItem getItem(int index)
          已过时。  
 java.lang.String getLabelAngleExpression()
          返回一个字段,该字段为数值型字段,字段值控制文本的旋转角度。
 java.lang.String getLabelColorExpression()
          返回一个字段,该字段为数值型字段,控制文字颜色。
 java.lang.String getLabelExpression()
          返回标注字段表达式。
 java.lang.String getLabelFontTypeExpression()
          返回一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。
 double getLabelRepeatInterval()
          返回在沿线标注时循环标注的间隔。
 LabelMatrix getLabels()
          返回标签专题图中的矩阵标签。
 java.lang.String getLabelSizeExpression()
          返回一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。
 GeoStyle getLeaderLineStyle()
          返回标签与其标注对象之间牵引线的风格。
 int getMaxLabelLength()
          返回标签在每一行显示的最大长度。
 int getMaxTextHeight()
          返回标签中文本的最大高度。
 int getMaxTextWidth()
          返回标签中文本的最大宽度。
 int getMinTextHeight()
          返回标签中文本的最小高度。
 int getMinTextWidth()
          返回标签中文本的最小宽度。
 int getNumericPrecision()
          返回标签中数字的精度。
 java.lang.String getOffsetX()
          返回标签专题图中标记文本相对于要素内点的水平偏移量。
 java.lang.String getOffsetY()
          返回标签专题图中标记文本相对于要素内点的垂直偏移量。
 AvoidMode getOverlapeAvoidMode()
          返回标签专题图中标签文本的避让方式。
 OverLengthLabelMode getOverLengthMode()
          返回超长标签的处理方式。
 ThemeLabel getParent()
          返回当前标签专题图所归属的专题图,即其父对象。
 java.lang.String getRangeExpression()
          返回分段字段表达式。
 ThemeLabelRangeItems getRangeItems()
          返回分段标签专题图子项集合。
 RangeMode getRangeMode()
          返回当前的分段模式。
 double getRarefyPointsRadius()
          返回自动抽稀点的容限,逻辑坐标,单位为0.1mm。
 int getRarefyThreshold()
          返回自动抽稀点的阈值。
 char getSplitSeparator()
          获取用于标签文本换行的换行符,可以为:“/”、“;”、空格等。
 Size2D getTextExtentInflation()
          返回标签中文本在 X,Y 正方向上的缓冲范围。
 double getTextSpacing()
          获取文本的间距,以字高为单位。
 MixedTextStyle getUniformMixedStyle()
          返回标签专题图统一的文本复合风格。
 TextStyle getUniformStyle()
          返回统一文本风格。
 java.lang.String getUniqueExpression()
          返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。
 ThemeLabelUniqueItems getUniqueItems()
          返回单值标签专题图子项集合。
 int indexOf(double value)
          已过时。 
 boolean isAllDirectionsOverlapedAvoided()
          已过时。  
 boolean isAllDirectionsOverlappedAvoided()
          已过时。  
 boolean isAlongLine()
          返回是否沿线显示文本。
 boolean isAlongLineAutoAvoid()
          返回是否沿线查找合适的位置进行沿线标注。
 boolean isAlongLineResampleLine()
          返回是否对复杂线型进行预处理后再进行沿线标注。
 boolean isAngleFixed()
          当沿线显示文本时,是否将文本角度固定。
 boolean isAutoAdjustRegionLabel()
          返回是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。
 boolean isFlowEnabled()
          返回是否流动显示标签。
 boolean isLeaderLineDisplayed()
          返回是否显示标签和它标注的对象之间的牵引线。
 boolean isOffsetFixed()
          返回当前标签专题图是否固定标记文本的偏移量。
 boolean isOnTop()
          返回标签专题图图层是否显示在最上层。
 boolean isOptimizeMutilineAlignment()
          返回当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。
 boolean isOverlapAvoided()
          返回是否允许以文本避让方式显示文本。
 boolean isRarefyPoints()
          返回显示点标签专题图时,是否自动抽稀点,以节省绘制时间。
 boolean isRepeatedLabelAvoided()
          返回是否避免地图重复标注。
 boolean isRepeatIntervalFixed()
          返回循环标注间隔是否固定。
 boolean isSmallGeometryLabeled()
          当标签的长度大于被标注对象本身的长度时,返回是否显示该标签。
 boolean isTextExpression()
          返回是否支持文本表达式,即上下标功能。
 boolean isVertical()
          返回是否使用竖排标签。
static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String uniqueExpression, ColorGradientType colorGradientType, JoinItems joinItems)
          根据给定的矢量数据集、单值字段表达式、颜色渐变模式和和外部连接表项参数生成默认的单值标签专题图。
static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter)
          根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的标签专题图。
static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType)
          根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的标签专题图。
static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)
          根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数、颜色渐变填充模式和外部连接表项生成默认的标签专题图。
 boolean merge(int index, int count, TextStyle style, java.lang.String caption)
          已过时。 
 void reverseStyle()
          对标签专题图中分段的风格进行反序显示。
 void setAllDirectionsOverlapedAvoided(boolean value)
          设置是否允许以全方向文本避让。
 void setAllDirectionsOverlappedAvoided(boolean value)
          设置是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。
 void setAlongLine(boolean value)
          设置是否沿线显示文本。
 void setAlongLineAutoAvoid(boolean value)
          设置是否沿线查找合适的位置进行沿线标注。
 void setAlongLineCulture(AlongLineCulture value)
          设置沿线标注使用的语言文化习惯。
 void setAlongLineDirection(AlongLineDirection value)
          设置标签沿线标注方向。
 void setAlongLineDrawingMode(boolean value)
          设置设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。
 void setAlongLineResampleLine(boolean value)
          设置是否对复杂线型进行预处理后再进行沿线标注。
 void setAlongLineSpaceRatio(double value)
          设置沿线文本间隔比率,该方法只对沿线标注起作用。
 void setAlongLineWordAngleRange(int value)
          设置沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。
 void setAngleFixed(boolean value)
          当沿线显示文本时,是否将文本角度固定。
 void setAutoAdjustRegionLabel(boolean value)
          设置是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。
 void setBackShape(LabelBackShape value)
          设置标签专题图中的标签背景的形状类型。
 void setBackStyle(GeoStyle style)
          设置标签专题图中的标签背景风格。
 void setExplodeXExpression(java.lang.String value)
          设置一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。
 void setExplodeYExpression(java.lang.String value)
          设置一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。
 void setFlowEnabled(boolean value)
          设置是否流动显示标签。
 void setLabelAngleExpression(java.lang.String value)
          设置一个字段,该字段为数值型字段,字段值控制文本的旋转角度。
 void setLabelColorExpression(java.lang.String value)
          设置一个字段,该字段为数值型字段,控制文字颜色,指定字段后,标签的文字颜色将从对应记录的该字段值中读取。
 void setLabelExpression(java.lang.String value)
          设置标注字段表达式。
 void setLabelFontTypeExpression(java.lang.String value)
          设置一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。
 void setLabelRepeatInterval(double value)
          设置在沿线标注时循环标注的间隔。
 void setLabels(LabelMatrix labelMatrix)
          设置标签专题图中的矩阵标签。
 void setLabelSizeExpression(java.lang.String value)
          设置一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。
 void setLeaderLineDisplayed(boolean value)
          设置是否显示标签和它标注的对象之间的牵引线。
 void setLeaderLineStyle(GeoStyle style)
          设置标签与其标注对象之间牵引线的风格。
 void setMaxLabelLength(int value)
          设置标签在每一行显示的最大长度。
 void setMaxTextHeight(int value)
          设置标签中文本的最大高度。
 void setMaxTextWidth(int value)
          设置标签中文本的最大宽度。
 void setMinTextHeight(int value)
          设置标签中文本的最小高度。
 void setMinTextWidth(int value)
          设置标签中文本的最小宽度。
 void setNumericPrecision(int value)
          设置标签中数字的精度。
 void setOffsetFixed(boolean value)
          设置当前标签专题图是否固定标记文本的偏移量。
 void setOffsetX(java.lang.String value)
          设置标签专题图中标记文本相对于要素内点的水平偏移量。
 void setOffsetY(java.lang.String value)
          设置标签专题图中标记文本相对于要素内点的垂直偏移量。
 void setOnTop(boolean value)
          设置标签专题图图层是否显示在最上层。
 void setOptimizeMutilineAlignment(boolean value)
          设置当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。
 void setOverlapAvoided(boolean value)
          是否允许以文本避让方式显示文本。
 void setOverlapeAvoidMode(AvoidMode value)
          设置标签专题图中标签文本的避让方式。
 void setOverLengthMode(OverLengthLabelMode value)
          设置超长标签的处理方式。
 void setRangeExpression(java.lang.String value)
          设置分段字段表达式。
 void setRarefyPoints(boolean value)
          设置显示点标签专题图时,是否自动抽稀点,以节省绘制时间。
 void setRarefyPointsRadius(double value)
          设置自动抽稀点的容限,逻辑坐标,单位为0.1mm。
 void setRarefyThreshold(int value)
          设置自动抽稀点的阈值。
 void setRepeatedLabelAvoided(boolean value)
          设置是否避免地图重复标注。
 void setRepeatIntervalFixed(boolean value)
          设置循环标注间隔是否固定。
 void setSmallGeometryLabeled(boolean value)
          当标签的长度大于被标注对象本身的长度时,设置是否显示该标签。
 void setSplitSeparator(char value)
          设置用于标签文本换行的换行符,可以为:“/”、“;”、空格等。
 void setTextExpression(boolean value)
          设置是否支持文本表达式,即上下标功能。
 void setTextExtentInflation(Size2D size2D)
          设置标签中文本在 X,Y 正方向上的缓冲范围。
 void setTextSpacing(double value)
          设置文本的间距,以字高为单位。
 void setUniformMixedStyle(MixedTextStyle style)
          设置标签专题图统一的文本复合风格。
 void setUniformStyle(TextStyle style)
          设置统一文本风格。
 void setUniqueExpression(java.lang.String value)
          设置单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。
 void setVertical(boolean value)
          设置是否使用竖排标签。
 boolean split(int index, double splitValue, TextStyle style, java.lang.String caption1, TextStyle style2, java.lang.String caption2)
          已过时。 
 java.lang.String toString()
          输出专题图格式化字符串。
 
从类 com.supermap.mapping.Theme 继承的方法
fromXML, getMemoryData, getType, setMemoryData, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

ThemeLabel

public ThemeLabel()
默认构造函数,构造一个新的 ThemeLabel 对象。


ThemeLabel

public ThemeLabel(ThemeLabel themeLabel)
拷贝构造函数,根据给定的 ThemeLabel 对象构造一个与其完全相同的新对象。

参数:
themeLabel - 给定的 ThemeLabel 对象。
方法详细信息

getItem

public ThemeLabelItem getItem(int index)
已过时。 

返回指定序号的标签专题图中标签专题图子项。有关标签专题图子项详细信息,请参见 ThemeLabelItem 类。

参数:
index - 指定标签专题图子项的序号。
返回:
指定序号的标签专题图中标签专题图子项。
另请参见:
ThemeLabelItem

getCount

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 - 一个布尔值指定是否显示长度大于被标注对象本身长度的标签。

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 - 指定当沿线显示文本时,是否将文本角度固定。

getAlongLineDirection

public AlongLineDirection getAlongLineDirection()
返回标签沿线标注方向。

返回:
标签沿线标注方向。
默认值:
默认值为 AlongLineDirection.ALONG_LINE_NORMAL

setAlongLineDirection

public void setAlongLineDirection(AlongLineDirection value)
设置标签沿线标注方向。

参数:
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 java.lang.String getOffsetX()
返回标签专题图中标记文本相对于要素内点的水平偏移量。标签偏移量的单位为地图单位。

该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。

返回:
标签专题图中标记文本相对于要素内点的水平偏移量。
默认值:
默认值为一个空字符串。

setOffsetX

public void setOffsetX(java.lang.String value)
设置标签专题图中标记文本相对于要素内点的水平偏移量。标签偏移量的单位为地图单位。

该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。

参数:
value - 指定标签专题图中标记文本相对于要素内点的水平偏移量。

getOffsetY

public java.lang.String getOffsetY()
返回标签专题图中标记文本相对于要素内点的垂直偏移量。标签偏移量的单位为地图单位。

该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为2。

返回:
标签专题图中标记文本相对于要素内点的垂直偏移量。
默认值:
默认值为一个空字符串。

setOffsetY

public void setOffsetY(java.lang.String value)
设置标签专题图中标记文本相对于要素内点的垂直偏移量。标签偏移量的单位为地图单位。

该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。

参数:
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 java.lang.String getRangeExpression()
返回分段字段表达式。其中分段表达式中的值必须为数值型的。

用户根据该方法的返回值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(getLabelExpression()setLabelExpression())相应的标注文本。

返回:
分段字段表达式。
默认值:
默认值为一个空字符串。

setRangeExpression

public void setRangeExpression(java.lang.String value)
设置分段字段表达式。其中分段表达式中的值必须为数值型的。

用户根据该方法的设置值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(getLabelExpression()setLabelExpression())相应的标注文本。

参数:
value - 指定分段字段表达式。

getLabelExpression

public java.lang.String getLabelExpression()
返回标注字段表达式。

返回:
标注字段表达式。
默认值:
默认值为一个空字符串。

setLabelExpression

public void setLabelExpression(java.lang.String value)
设置标注字段表达式。

参数:
value - 指定标注字段表达式。

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 - 指定统一文本风格。

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 size2D)
设置标签中文本在 X,Y 正方向上的缓冲范围。通过设置该值可以修改文本在地图中所占空间的大小,必须非负。

参数:
size2D - 标签中文本在 X,Y 正方向上的缓冲范围。

getUniformMixedStyle

public MixedTextStyle getUniformMixedStyle()
返回标签专题图统一的文本复合风格。

在图层绘制时,各种绘制风格的优先级从高到低为:ThemeLabel.getUniformMixedStyle()ThemeLabelItem.getStyle()ThemeLabel.getUniformStyle(),即:当 ThemeLabel.getUniformMixedStyle()ThemeLabelItem.getStyle()ThemeLabel.getUniformStyle() 不一致时,以 ThemeLabel.getUniformMixedStyle() 为准。

返回:
标签专题图的文本复合风格。
默认值:
默认值为空。

setUniformMixedStyle

public void setUniformMixedStyle(MixedTextStyle style)
设置标签专题图统一的文本复合风格。

在图层绘制时,各种绘制风格的优先级从高到低为:ThemeLabel.getUniformMixedStyle()ThemeLabelItem.getStyle()ThemeLabel.getUniformStyle(),即:当 ThemeLabel.getUniformMixedStyle()ThemeLabelItem.getStyle()ThemeLabel.getUniformStyle() 不一致时,以 ThemeLabel.getUniformMixedStyle() 为准。

参数:
style - 标签专题图的文本复合风格。

getLabels

public LabelMatrix getLabels()
返回标签专题图中的矩阵标签。在矩阵标签中,标签以矩阵的形式排列在一起。

返回:
标签专题图中的矩阵标签。
默认值:
默认值为空。

setLabels

public void setLabels(LabelMatrix labelMatrix)
设置标签专题图中的矩阵标签。在矩阵标签中,标签以矩阵的形式排列在一起。

参数:
labelMatrix - 标签专题图中的矩阵标签。

isRepeatedLabelAvoided

public boolean isRepeatedLabelAvoided()
返回是否避免地图重复标注。

对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即 setAlongLine(true))时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如下图所示。

返回:
一个布尔值,避免地图重复标注返回 true,否则返回 false。
默认值:
默认值为 false。

setRepeatedLabelAvoided

public void setRepeatedLabelAvoided(boolean value)
设置是否避免地图重复标注。

对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即 setAlongLine(true))时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如右图所示。

参数:
value - 一个布尔值指定是否避免地图重复标注。

getParent

public ThemeLabel getParent()
返回当前标签专题图所归属的专题图,即其父对象。

返回:
ThemeLabel 对象。
默认值:
默认值为空。

isOffsetFixed

public boolean isOffsetFixed()
返回当前标签专题图是否固定标记文本的偏移量。固定标记文本的偏移量,则标签的偏移量不随地图的缩放而变化。

返回:
一个布尔值,固定标记文本的偏移量返回 true,否则返回 false。
默认值:
默认值为 false。

setOffsetFixed

public void setOffsetFixed(boolean value)
设置当前标签专题图是否固定标记文本的偏移量。固定标记文本的偏移量,则标签的偏移量不随地图的缩放而变化。

参数:
value - 一个布尔值指定是否固定标记文本的偏移量。

addToHead

@Deprecated
public boolean addToHead(ThemeLabelItem item)
已过时。 

把一个标签专题图子项添加到分段列表的开头。

参数:
item - 需要添加的子项。
返回:
一个布尔值,如果添加成功返回 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)
已过时。 

把一个标签专题图子项添加到分段列表的尾部。

参数:
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 style,
                                java.lang.String caption1,
                                TextStyle style2,
                                java.lang.String caption2)
已过时。 

根据给定的拆分分段值将一个指定序号的标签专题图子项拆分成两个具有各自风格和名称的标签专题图子项。注:splitValue 必须在拆分的范围之内。即大于标签专题图子项的起始值(Start)并且小于标签专题图子项的终止值(End),如果不满足上述条件,则抛出异常。

参数:
index - 指定的标签专题图子项的序号。
splitValue - 指定的拆分分段值。
style - 被拆分的两个标签专题图子项中的一个标签专题图子项的风格。
caption1 - 被拆分的两个标签专题图子项中的一个标签专题图子项的名称。
style2 - 被拆分的两个标签专题图子项中的另一个标签专题图子项的风格。
caption2 - 被拆分的两个标签专题图子项中的另一个标签专题图子项的名称。
返回:
一个布尔值,拆分成功返回 true,否则返回 false。

merge

@Deprecated
public boolean merge(int index,
                                int count,
                                TextStyle style,
                                java.lang.String caption)
已过时。 

合并一个从指定序号起始的给定个数的标签专题图子项,并赋给合并后标签专题图子项显示风格和名称。执行该方法后,被合并的对象将被释放,不再可用。

参数:
index - 指定的标签专题图子项的序号,并以此序号为起始。
count - 要合并的标签专题图子项个数,即从指定的序号开始计算。
style - 合并后的标签专题图子项的风格。
caption - 合并后的标签专题图子项名称。
返回:
一个布尔值,合并成功返回 true,否则返回 false。

clear

@Deprecated
public void clear()
已过时。 

删除标签专题图的子项。执行该方法后,所有的标签专题图子项都被释放,不再可用。


makeDefault

public static ThemeLabel makeDefault(DatasetVector dataset,
                                     java.lang.String rangeExpression,
                                     RangeMode rangeMode,
                                     double rangeParameter)
根据给定的矢量数据集、分段字段表达式、分段模式和相应的分段参数生成默认的标签专题图。

参数:
dataset - 矢量数据集。
rangeExpression - 分段字段表达式。
rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。
rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段法其中一种模式时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。
返回:
根据参数构造得到一个新的 ThemeLabel 的对象实例。

makeDefault

public static ThemeLabel makeDefault(DatasetVector dataset,
                                     java.lang.String rangeExpression,
                                     RangeMode rangeMode,
                                     double rangeParameter,
                                     ColorGradientType colorGradientType)
根据给定的矢量数据集、分段字段表达式、分段模式、相应的分段参数和颜色渐变模式生成默认的标签专题图。

参数:
dataset - 矢量数据集。
rangeExpression - 分段字段表达式。
rangeMode - 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。
rangeParameter - 分段参数。当分段模式为等距离分段法,平方根分段法其中一种时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。
colorGradientType - 颜色渐变模式。
返回:
根据参数构造得到一个新的 ThemeLabel 的对象实例。

makeDefault

public static ThemeLabel makeDefault(DatasetVector dataset,
                                     java.lang.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()
对标签专题图中分段的风格进行反序显示。


dispose

public void dispose()
释放对象所占用的资源。调用该方法之后,此对象不再可用。


toString

public java.lang.String toString()
从类 Theme 复制的描述
输出专题图格式化字符串。格式化字符串提供专题图的相关设置信息,与 XML 字符串不同的是,格式化字符串不可导入显示专题图,只用于提供专题图的相关信息。
  1. 对于栅格分段专题图,其格式为{Caption=”china”, Start=10 End=20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} };
  2. 对于栅格单值专题图,其格式为{Caption=”china”, Unique =20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} };
  3. 对于标签专题图,其格式为{Caption=”China”, Start=10 End=20, Visible=true, Style={name=,width=,height=,color=()} };
  4. 对于分段专题图,其格式为{Caption=”china”, Start=10 End=20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=};
  5. 对于单值专题图,其格式为{Caption=”china”, Unique =20, Visible=true?false, Style={linestyle=,markerstyle=,fillstyle=} }。

指定者:
Theme 中的 toString
返回:
专题图的格式化字符串。

isAllDirectionsOverlapedAvoided

public boolean isAllDirectionsOverlapedAvoided()
已过时。 

返回是否允许以全方向文本避让。

通常文本避让是以全方向进行的,虽然避让比较合理,但会影响显示效率;如果提高显示效率,请设置 setAllDirectionsOverlapedAvoided() 方法为 false。

全方向即指以文本外边框和基准线而形成的12个方向,如下图所示;

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

返回:
如果全方向文本避让即为 true,如果四方向文本避让为 false。

setAllDirectionsOverlapedAvoided

public void setAllDirectionsOverlapedAvoided(boolean value)
设置是否允许以全方向文本避让。

通常文本避让是以全方向进行的,虽然避让比较合理,但会影响显示效率;如果提高显示效率,请设置 setAllDirectionsOverlapedAvoided() 方法为 false。

参数:
value - 一个布尔值指定是否以全方向文本避让。

getRangeMode

public RangeMode getRangeMode()
返回当前的分段模式。

返回:
当前的分段模式。

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 - 沿线文本间隔比率。

getCustomInterval

public double getCustomInterval()
获取自定义段长。

返回:
自定义段长。

isAllDirectionsOverlappedAvoided

public boolean isAllDirectionsOverlappedAvoided()
已过时。 

返回是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。

备注说明:在SuperMap GIS 8C 版本以前,true表示以八方向进行文本避让;false表示以四两方向进行文本避让。

返回:
一个布尔值,指示是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。

setAllDirectionsOverlappedAvoided

public void setAllDirectionsOverlappedAvoided(boolean value)
设置是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。

四方向避让是选择文本外边矩形框的四个角点方向做为避让方向。两方向避让方向与标签的对齐方式有关,将选择对齐方式的对称方向进行避让,例如:如果对齐为左中点,那么避让方向为右中点。

备注说明:在SuperMap GIS 8C 版本以前,true表示以八方向进行文本避让;false表示以四方向进行文本避让。

参数:
value - 一个布尔值,指示是以四方向还是两方向进行文本避让,true表示以两方向进行文本避让;false表示以四方向进行文本避让。

isTextExpression

public boolean isTextExpression()
返回是否支持文本表达式,即上下标功能。

返回:
是否支持文本表达式,即上下标功能。
默认值:
默认值为false,不支持文本表达式,即上下标功能。

setTextExpression

public void setTextExpression(boolean value)
设置是否支持文本表达式,即上下标功能。

当选择字段为文本类型,文本中含有上下标,并且是根据特定的标准时(文本表达式请参考下面说明),需要设置此属性,以便正确显示文本(如下右图)。下图为分别设置此属性值为false和true时的效果对比:

注意:

参数:
value - 一个布尔值,指定是否支持文本表达式,即上下标功能,true,表示支持文本表达式,false,表示不支持。

isVertical

public boolean isVertical()
返回是否使用竖排标签。

返回:
是否使用竖排标签。

不支持矩阵标签、复合风格的标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

默认值:
默认值为false,表示文字不竖排。

setVertical

public void setVertical(boolean value)
设置是否使用竖排标签。

不支持矩阵标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

参数:
value - 一个布尔值,指定是否使用竖排标签,true,表示文字竖排,false,表示文字不竖排。

isAutoAdjustRegionLabel

public boolean isAutoAdjustRegionLabel()
返回是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。

返回:
是否自动根据面对象的宽度和高度竖排标签。

当设置该属性时,忽略IsVertical属性的设置。

不支持矩阵标签、复合风格的标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

默认值:
默认值为false,表示文字不自动根据面对象的宽度和高度竖排标签。

setAutoAdjustRegionLabel

public void setAutoAdjustRegionLabel(boolean value)
设置是否自动根据面对象的宽度和高度竖排标签,如果宽度大于高度,就横排标签,否则就竖排。

当设置该属性时,忽略IsVertical属性的设置。

不支持矩阵标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

参数:
value - 一个布尔值,指定是否自动根据面对象的宽度和高度竖排标签,true,表示文字自动根据面对象的宽度和高度竖排标签,false,表示文字不自动根据面对象的宽度和高度竖排标签。

getTextSpacing

public double getTextSpacing()
获取文本的间距,以字高为单位。

返回:
文本的间距。

不支持矩阵标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

当地图有旋转角度时,不支持设置文本的间距。

默认值:
默认值为0。

setTextSpacing

public void setTextSpacing(double value)
设置文本的间距,以字高为单位。

不支持矩阵标签和沿线标注。

不支持有旋转角度的文本标签,即文本标签的旋转角度大于0时,该属性的设置无效。

当地图有旋转角度时,不支持设置文本的间距。

参数:
value - 文本的间距。

getAlongLineCulture

public AlongLineCulture getAlongLineCulture()
返回沿线标注使用的语言文化习惯。

返回:
沿线标注使用的语言文化习惯。
默认值:
默认值与当前系统的非 Unicode 语言相关。如果是中文环境,为 CHINESE,否则为 ENGLISH。

setAlongLineCulture

public void setAlongLineCulture(AlongLineCulture value)
设置沿线标注使用的语言文化习惯。

参数:
value - 沿线标注使用的语言文化习惯。

getSplitSeparator

public char getSplitSeparator()
获取用于标签文本换行的换行符,可以为:“/”、“;”、空格等。

如果通过setOverLengthMode接口设置了NEWLINE值,即换行方式,并且通过setSplitSeparator接口同时设置了换行符,那么,标签文本将按照特殊字符指定的位置进行换行显示。

当标签专题图使用换行的方式进行超长文本处理时,可以通过给定特殊字符的方式控制文本的换行位置,这就需要您提前做好数据准备,在用于标注的字段中,在字段值需要换行的位置加入您设定的换行符,如“/”、“;”、空格,当使用特殊字符换行时,将在出现指定的特殊字符处进行换行,并且指定的特殊字符不显示。


setSplitSeparator

public void setSplitSeparator(char value)
设置用于标签文本换行的换行符,可以为:“/”、“;”、空格等。

如果通过setOverLengthMode接口设置了NEWLINE值,即换行方式,并且通过setSplitSeparator接口同时设置了换行符,那么,标签文本将按照特殊字符指定的位置进行换行显示。

当标签专题图使用换行的方式进行超长文本处理时,可以通过给定特殊字符的方式控制文本的换行位置,这就需要您提前做好数据准备,在用于标注的字段中,在字段值需要换行的位置加入您设定的换行符,如“/”、“;”、空格,当使用特殊字符换行时,将在出现指定的特殊字符处进行换行,并且指定的特殊字符不显示。

参数:
value - 用于标签文本换行的换行符。

isOptimizeMutilineAlignment

public boolean isOptimizeMutilineAlignment()
返回当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。

该属性的设置对点标签专题图有效。

返回:
一个布尔值,指示当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。

setOptimizeMutilineAlignment

public void setOptimizeMutilineAlignment(boolean value)
设置当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。

参数:
value - 一个布尔值,当开启标签文本自动避让后,是否自动优化多行文本的排版,使其与被标注的点对象在当前位置关系下更加美观整齐,true表示优化;false表示不进行优化处理。

getExplodeXExpression

public java.lang.String getExplodeXExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。

返回:
返回一个字段,该字段控制文本的在水平方向的偏移距离。

setExplodeXExpression

public void setExplodeXExpression(java.lang.String value)
设置一个字段,该字段为数值型字段,字段值控制文本的在水平方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。

参数:
value - 一个字段,该字段控制文本的在水平方向的偏移距离。

标签偏移效果由偏移量(X、Y方向)以及文本对齐方式共同决定,偏移设置需要提供水平(X)、垂直(Y)偏移量。对于偏移可以使用地理坐标或者逻辑坐标。

注:如果字段值为无值,将按照ThemeLabel.setOffsetX()方法设置的值进行水平偏移。

关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。

示例:
使用字段控制标签专题图的文本风格的示例代码,请参见:setLabelColorExpression()

getExplodeYExpression

public java.lang.String getExplodeYExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。

返回:
返回一个字段,该字段控制文本的在垂直方向的偏移距离。

setExplodeYExpression

public void setExplodeYExpression(java.lang.String value)
设置一个字段,该字段为数值型字段,字段值控制文本的在垂直方向的偏移距离,数值单位为地理坐标或者逻辑坐标(0.1毫米),由方法ThemeLabel.setOffsetFixed(boolean value)设置的值决定,该方法传入的值为true,表示使用逻辑坐标,为false表示使用地理坐标。

参数:
value - 一个字段,该字段控制文本的在垂直方向的偏移距离。

标签偏移效果由偏移量(X、Y方向)以及文本对齐方式共同决定,偏移设置需要提供水平(X)、垂直(Y)偏移量。对于偏移可以使用地理坐标或者逻辑坐标。

注:如果字段值为无值,将按照ThemeLabel.setOffsetY()方法设置的值进行垂直偏移。

关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。

示例:
使用字段控制标签专题图的文本风格的示例代码,请参见:setLabelColorExpression()

getLabelSizeExpression

public java.lang.String getLabelSizeExpression()
返回一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。

返回:
一个字段,该字段控制文字字高。

setLabelSizeExpression

public void setLabelSizeExpression(java.lang.String value)
设置一个字段,该字段为数值型字段,字段值控制文字字高,数值单位为毫米。指定字段后,标签的文字大小将从对应记录的该字段值中读取。

参数:
value - 一个字段,该字段控制文字字高。

通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。

注:如果字段值为无值,将按照当前标签专题图所设置的字体大小的具体数值进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文本风格中的字体大小。

示例:
使用字段控制标签专题图的文本风格的示例代码,请参见:setLabelColorExpression()

getLabelFontTypeExpression

public java.lang.String getLabelFontTypeExpression()
返回一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。

返回:
一个字段,该字段控制标签专题图中标签文本的字体样式。

setLabelFontTypeExpression

public void setLabelFontTypeExpression(java.lang.String value)
设置一个字段,该字段值为字体名称,如:微软雅黑、宋体,控制标签专题图中标签文本的字体样式。指定字段后,标签的字体样式将从对应记录的该字段值中读取。

参数:
value - 一个字段,该字段控制标签专题图中标签文本的字体样式。

通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。

注:如果字段值指定的字体在当前系统中不存在,或者字段值为无值,将按照当前标签专题图所设置的具体字体进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文本风格中的字体。

示例:
使用字段控制标签专题图的文本风格的示例代码,请参见:setLabelColorExpression()

getLabelColorExpression

public java.lang.String getLabelColorExpression()
返回一个字段,该字段为数值型字段,控制文字颜色。

返回:
一个字段,该字段为数值型字段,控制文字颜色。

setLabelColorExpression

public void setLabelColorExpression(java.lang.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 java.lang.String getLabelAngleExpression()
返回一个字段,该字段为数值型字段,字段值控制文本的旋转角度。

返回:
一个字段,该字段为数值型字段,字段值控制文本的旋转角度。

setLabelAngleExpression

public void setLabelAngleExpression(java.lang.String value)
设置一个字段,该字段为数值型字段,字段值控制文本的旋转角度。指定字段后,标签的文字旋转角度将从对应记录的该字段值中读取。

参数:
value - 一个字段,该字段为数值型字段,字段值控制文本的旋转角度。

数值单位为度。角度旋转以逆时针方向为正方向,对应数值为正值;角度值支持负值,表示沿顺时针方向旋转。

注:如果字段值为无值,将按照当前标签专题图所设置的具体角度数值进行显示,如:ThemeLabel.setUniformStyle()方法所设置的文字旋转角度。

关于标签旋转角度和偏移,如果两者同时设置后,先对标签进行角度旋转,再进行偏移。

通过指定字段的方式控制标签的字体、文字大小、文字旋转角度、文字颜色、标签偏移量,只对点标签专题图有效。

示例:
使用字段控制标签专题图的文本风格的示例代码,请参见:setLabelColorExpression()

isOnTop

public boolean isOnTop()
返回标签专题图图层是否显示在最上层。这里的最上层是指所有非标签专题图图层的上层。

一般制图时,都会把地图中标签专题图图层放在所有非标签专题图图层的最前面,但当使用了图层分组时,分组内的标签专题图层有可能被位于上层图层分组中的其他普通图层掩盖,为了即保持图层分组状态,又要使标签不被掩盖,可以使用setOnTop方法传入true值,标签专题图不论当前在地图中的位置,都将显示在最前面;如果有多个标签专题图图层都通过setOnTop方法传入true值,那么他们之间显示顺序,由他们所在地图的图层顺序决定。

返回:
一个布尔值,指示标签专题图图层是否显示在最上层;true,表示显示在最上层,这里的最上层是指所有非标签专题图图层的上层;否则为false,将按照原来的图层显示顺序显示。

setOnTop

public void setOnTop(boolean value)
设置标签专题图图层是否显示在最上层。这里的最上层是指所有非标签专题图图层的上层。

一般制图时,都会把地图中标签专题图图层放在所有非标签专题图图层的最前面,但当使用了图层分组时,分组内的标签专题图层有可能被位于上层图层分组中的其他普通图层掩盖,为了即保持图层分组状态,又要使标签不被掩盖,可以使用setOnTop方法传入true值,标签专题图不论当前在地图中的位置,都将显示在最前面;如果有多个标签专题图图层都通过setOnTop方法传入true值,那么他们之间显示顺序,由他们所在地图的图层顺序决定。

参数:
value - 标签专题图图层是否显示在最上层;true,表示显示在最上层,这里的最上层是指所有非标签专题图图层的上层;否则为false,将按照原来的图层显示顺序显示。

getUniqueExpression

public java.lang.String getUniqueExpression()
返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。

返回:
返回单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。

setUniqueExpression

public void setUniqueExpression(java.lang.String value)
设置单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式,通过该表达式的值控制对象标签的风格,表达式值相同的对象标签使用相同的风格进行显示。

参数:
value - 单值字段表达式,表达式可以为一个字段,也可以为多个字段构成的表达式。

getUniqueItems

public ThemeLabelUniqueItems getUniqueItems()
返回单值标签专题图子项集合。基于单值字段表达式值相同的对象标签为一类,一个单值对应一个单值标签专题图子项。

返回:
返回单值标签专题图子项集合。

getRangeItems

public ThemeLabelRangeItems getRangeItems()
返回分段标签专题图子项集合。基于字段表达式值的分段结果,一个分段对应一个分段标签专题图子项。

返回:
返回分段标签专题图子项集合。

makeDefault

public static ThemeLabel makeDefault(DatasetVector dataset,
                                     java.lang.String uniqueExpression,
                                     ColorGradientType colorGradientType,
                                     JoinItems joinItems)
根据给定的矢量数据集、单值字段表达式、颜色渐变模式和和外部连接表项参数生成默认的单值标签专题图。

参数:
dataset - 用于制作单值标签专题图的矢量数据集。
uniqueExpression - 指定一个字段或者多个字段组成的表达式。该表达式的值用来对对象标签进行分类,值相同的对象标签为一类使用相同的风格显示,不同类的标签使用不同风格显示。
colorGradientType - 颜色渐变模式。
joinItems - 外部表连接项。
返回:
返回制作好的单值标签专题图对象。

getAlongLineWordAngleRange

public int getAlongLineWordAngleRange()
返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。

沿线标注中,中文标签与英文标签为了适应弯曲线的走势,文字或者字母会发生旋转,但是单个字或者字母始终与其当前标注点位的切线方向垂直,因此,会出现如下图所示的效果,相邻字或者字母形成一定的夹角,当线的弯曲度较大时,夹角也增大,会出现标签整体不美观的效果。因此,该接口通过一个给定的容限值,限制相邻字或者字母夹角最大值,以保证沿线标注的美观性。

夹角容限值越小,标签越紧凑,但弯度大的地方可能就无法进行标注;夹角容限值越大,弯度大的地方也能显示标注,但是沿线标注的美观性降低了。

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

返回:
返回沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。

setAlongLineWordAngleRange

public void setAlongLineWordAngleRange(int value)
设置沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。

沿线标注中,中文标签与英文标签为了适应弯曲线的走势,文字或者字母会发生旋转,但是单个字或者字母始终与其当前标注点位的切线方向垂直,因此,会出现如下图所示的效果,相邻字或者字母形成一定的夹角,当线的弯曲度较大时,夹角也增大,会出现标签整体不美观的效果。因此,该接口通过一个给定的容限值,限制相邻字或者字母夹角最大值,以保证沿线标注的美观性。

夹角容限值越小,标签越紧凑,但弯度大的地方可能就无法进行标注;夹角容限值越大,弯度大的地方也能显示标注,但是沿线标注的美观性降低了。

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

参数:
value - 沿线标注中字与字或者字母与字母间相对角度的容限值,单位为:度。

getAlongLineDrawingMode

public AlongLineDrawingMode getAlongLineDrawingMode()
返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。

返回:
返回设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。

setAlongLineDrawingMode

public void setAlongLineDrawingMode(boolean value)
设置设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。

SuperMap GIS 8C(2017)版本开始,调整了沿线标注的绘制策略,为了兼容以前版本,提供了一个“兼容绘制”选项。

在新的绘制策略中,用户可根据实际应用需求,选择标签绘制的方式是将标签作为一个整体绘制还是将标签中的文字和字母拆分开绘制。一般情况下沿线标注中,采用拆分绘制,标签与被标注的线走势相吻合;如果为整行绘制,那么标签将作为一个整体,此设置一般用于带背景标签的沿线标注。

参数:
value - 设置在沿线标注中,标签绘制所采用的策略:兼容绘制、整行绘制、拆分绘制。默认值为兼容绘制。

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)来控制,超过阈值(所设置的点对象的总数)就会触发抽稀算法。

getOverlapeAvoidMode

public AvoidMode getOverlapeAvoidMode()
返回标签专题图中标签文本的避让方式。

返回:
返回标签专题图中标签文本的避让方式。

setOverlapeAvoidMode

public void setOverlapeAvoidMode(AvoidMode value)
设置标签专题图中标签文本的避让方式。

参数:
value - 标签专题图中标签文本的避让方式。

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,就可以先对复杂线型拟合一个非复杂线型,例如:弯曲较多的线型拟合一个平滑的曲线,拟合后,在对这个拟合后的虚拟线型进行沿线标注。不过,这种标注方案可能会导致线型的沿线标签偏离所标注的真实线型。因此,用户需要根据具体的数据情况和需求,确认是否使用对复杂线型进行预处理后再进行沿线标注的能力。

返回:
一个布尔值,指示是否对复杂线型进行预处理后再进行沿线标注。