com.supermap.mapping

类 ThemeLabel

  • 所有已实现的接口:
    IDisposable


    public class ThemeLabel
    extends Theme
    标签专题图类。

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

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

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

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

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

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

    • 构造器详细资料

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

        参数:
        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
      • 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()
        释放对象所占用的资源。调用该方法之后,此对象不再可用。
      • toString

        public String toString()
        输出一个字符串来表达当前标签专题图对象
        指定者:
        toString 在类中 Theme
        返回:
        描述标签专题图对象的字符串。
      • 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 字符串来初始化标签专题图
        覆盖:
        fromXML 在类中 Theme
        参数:
        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 - 当前对象已被释放
      • 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 - 当前对象已被释放
      • 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 - 当前对象已被释放
      • 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
      • 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

Copyright © 2021–2024 SuperMap. All rights reserved.