public class ThemeLabel extends Theme
标签专题图的标注可以是数字、字母与文字,例如:河流、湖泊、海洋、山脉、城镇、村庄等地理名称,高程、等值线数值、河流流速、公路段里程、航海线里程等。
在标签专题图中,你可以对标签的显示风格和位置进行设置或控制,你可以为所有的标签都设置统一的显示风格和位置选项来显示,也可以通过分段的方式,对单个或每个分段内的标签的风格分别进行设置,另外,单个标签的位置也是可以修改的。
注:地图上一般还会出现图例说明,图名,比例尺等等,那些都是制图元素,不属于标签专题图标注的范畴。
public void themeLabelExample(DatasetVector datasetVector) { // 制作标签专题图 ThemeLabel themeLabelMap = new ThemeLabel(); themeLabelMap.setLabelExpression("Country"); themeLabelMap.setRangeExpression("Pop_1994"); // 为标签专题图的标签设置分段样式 // 设置人口大于一亿国家的标签 ThemeLabelItem themeLabelItem1 = new ThemeLabelItem(); themeLabelItem1.setCaption("大于一亿"); themeLabelItem1.setEnd(120000000); themeLabelItem1.setStart(100000000); themeLabelItem1.setVisible(true); TextStyle textStyle1 = new TextStyle(); textStyle1.setForeColor(java.awt.Color.getHSBColor(255, 190, 189)); textStyle1.setFontName("宋体"); themeLabelItem1.setStyle(textStyle1); // 设置人口大于一千万国家的标签 ThemeLabelItem themeLabelItem2 = new ThemeLabelItem(); themeLabelItem2.setCaption("大于一千万"); themeLabelItem2.setEnd(100000000); themeLabelItem2.setStart(10000000); themeLabelItem2.setVisible(true); TextStyle textStyle2 = new TextStyle(); textStyle2.setForeColor(java.awt.Color.getHSBColor(255, 235, 189)); textStyle2.setFontName("宋体"); themeLabelItem2.setStyle(textStyle2); // 设置人口大于一百万国家的标签 ThemeLabelItem themeLabelItem3 = new ThemeLabelItem(); themeLabelItem3.setCaption("大于一百万"); themeLabelItem3.setEnd(10000000); themeLabelItem3.setStart(1000000); themeLabelItem3.setVisible(true); TextStyle textStyle3 = new TextStyle(); textStyle3.setForeColor(java.awt.Color.getHSBColor(214, 255, 115)); textStyle3.setFontName("宋体"); themeLabelItem3.setStyle(textStyle3); // 设置人口小于一百万国家的标签 ThemeLabelItem themeLabelItem4 = new ThemeLabelItem(); themeLabelItem4.setCaption("小于一百万"); themeLabelItem4.setEnd(1000000); themeLabelItem4.setStart(0); themeLabelItem4.setVisible(true); TextStyle textStyle4 = new TextStyle(); textStyle4.setForeColor(java.awt.Color.getHSBColor(214, 255, 189)); textStyle4.setFontName("宋体"); themeLabelItem4.setStyle(textStyle4); // 添加标签专题图子项到标签专题图对象中 themeLabelMap.addToHead(themeLabelItem1); themeLabelMap.addToHead(themeLabelItem2); themeLabelMap.addToHead(themeLabelItem3); themeLabelMap.addToHead(themeLabelItem4); MapControl mapControl = new MapControl(); mapControl.getMap().setWorkspace(workspace); Layer layerTheme = mapControl.getMap().getLayers().add(datasetVector,themeLabelMap, true); mapControl.getMap().refresh(); }, 以下代码示例了如何制作一个简单的标签专题图。
ThemeLabel tl = new ThemeLabel(); tl.setLabelExpression("SmID"); TextStyle ts = new TextStyle(); ts.setFontName(mActivity.getResources().getString(R.string.font)); ts.setAlignment(TextAlignment.MIDDLECENTER); ts.setFontWidth(1.5); ts.setFontHeight(4.0); tl.setUniformStyle(ts); Dataset dataset = workspace.getDatasources().get(0).getDatasets().get(0); if (dataset != null) { m_UnifiedMapLayer = mapControl.getMap().getLayers().add(dataset,tl, true); }
构造器和说明 |
---|
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()
释放对象所占用的资源。
|
AlongLineDirection |
getAlongLineDirection()
返回标签沿线标注方向。
|
double |
getAlongLineSpaceRatio()
返回沿线文本间隔比率,该方法只对沿线标注起作用。
|
LabelBackShape |
getBackShape()
返回标签专题图中的标签背景的形状类型。
|
GeoStyle |
getBackStyle()
返回标签专题图中的标签背景风格。
|
int |
getCount()
返回标签专题图中分段的个数。
|
double |
getCustomInterval()
获取自定义段长。
|
ThemeLabelItem |
getItem(int index)
返回指定序号的标签专题图中标签专题图子项。
|
java.lang.String |
getLabelExpression()
返回标注字段表达式。
|
double |
getLabelRepeatInterval()
返回在沿线标注时循环标注的间隔。
|
GeoStyle |
getLeaderLineStyle()
返回标签与其标注对象之间牵引线的风格。
|
int |
getMaxLabelLength()
返回标签在每一行显示的最大长度。
|
int |
getMaxTextHeight()
返回标签中文本的最大高度。
|
int |
getMaxTextWidth()
返回标签中文本的最大宽度。
|
int |
getMinTextHeight()
返回标签中文本的最小高度。
|
int |
getMinTextWidth()
返回标签中文本的最小宽度。
|
int |
getNumericPrecision()
返回标签中数字的精度。
|
java.lang.String |
getOffsetX()
返回标签专题图中标记文本相对于要素内点的水平偏移量。
|
java.lang.String |
getOffsetY()
返回标签专题图中标记文本相对于要素内点的垂直偏移量。
|
OverLengthLabelMode |
getOverLengthMode()
返回超长标签的处理方式。
|
ThemeLabel |
getParent()
返回当前标签专题图所归属的专题图,即其父对象。
|
java.lang.String |
getRangeExpression()
返回分段字段表达式。
|
RangeMode |
getRangeMode()
返回当前的分段模式。
|
Size2D |
getTextExtentInflation()
返回标签中文本在 X,Y 正方向上的缓冲范围。
|
MixedTextStyle |
getUniformMixedStyle()
返回标签专题图统一的文本复合风格。
|
TextStyle |
getUniformStyle()
返回统一文本风格。
|
int |
indexOf(double value)
返回标签专题图中指定分段字段值在当前分段序列中的序号。
|
boolean |
isAllDirectionsOverlappedAvoided()
返回是否以全方向文本避让。
|
boolean |
isAlongLine()
返回是否沿线显示文本。
|
boolean |
isAngleFixed()
当沿线显示文本时,是否将文本角度固定。
|
boolean |
isFlowEnabled()
返回是否流动显示标签。
|
boolean |
isLeaderLineDisplayed()
返回是否显示标签和它标注的对象之间的牵引线。
|
boolean |
isOffsetFixed()
返回当前标签专题图是否固定标记文本的偏移量。
|
boolean |
isOverlapAvoided()
返回是否允许以文本避让方式显示文本。
|
boolean |
isRepeatedLabelAvoided()
返回是否避免地图重复标注。
|
boolean |
isRepeatIntervalFixed()
返回循环标注间隔是否固定。
|
boolean |
isSmallGeometryLabeled()
当标签的长度大于被标注对象本身的长度时,返回是否显示该标签。
|
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 |
setAllDirectionsOverlappedAvoided(boolean value)
设置是否以全方向文本避让。
|
void |
setAlongLine(boolean value)
设置是否沿线显示文本。
|
void |
setAlongLineDirection(AlongLineDirection value)
设置标签沿线标注方向。
|
void |
setAlongLineSpaceRatio(double value)
设置沿线文本间隔比率,该方法只对沿线标注起作用。
|
void |
setAngleFixed(boolean value)
当沿线显示文本时,是否将文本角度固定。
|
void |
setBackShape(LabelBackShape value)
设置标签专题图中的标签背景的形状类型。
|
void |
setBackStyle(GeoStyle style)
设置标签专题图中的标签背景风格,OpenGL不支持标签背景透明度。
|
void |
setFlowEnabled(boolean value)
设置是否流动显示标签。
|
void |
setLabelExpression(java.lang.String value)
设置标注字段表达式。
|
void |
setLabelRepeatInterval(double 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 |
setOverlapAvoided(boolean value)
是否允许以文本避让方式显示文本。
|
void |
setOverLengthMode(OverLengthLabelMode value)
设置超长标签的处理方式。
|
void |
setRangeExpression(java.lang.String value)
设置分段字段表达式。
|
void |
setRepeatedLabelAvoided(boolean value)
设置是否避免地图重复标注。
|
void |
setRepeatIntervalFixed(boolean value)
设置循环标注间隔是否固定。
|
void |
setSmallGeometryLabeled(boolean value)
当标签的长度大于被标注对象本身的长度时,设置是否显示该标签。
|
void |
setTextExtentInflation(Size2D size2D)
设置标签中文本在 X,Y 正方向上的缓冲范围。
|
void |
setUniformMixedStyle(MixedTextStyle value)
设置标签专题图统一的文本复合风格。
|
void |
setUniformStyle(TextStyle style)
设置统一文本风格。
|
boolean |
split(int index, double splitValue, TextStyle style, java.lang.String caption1, TextStyle style2, java.lang.String caption2)
根据给定的拆分分段值将一个指定序号的标签专题图子项拆分成两个具有各自风格和名称的标签专题图子项。
|
java.lang.String |
toString()
输出标签专题图格式化字符串。
|
fromXML, getMemoryData, getType, setMemoryData, toXML
public ThemeLabel()
ThemeLabel
对象。public ThemeLabel(ThemeLabel themeLabel)
ThemeLabel
对象构造一个与其完全相同的新对象。themeLabel
- 给定的 ThemeLabel
对象。public ThemeLabelItem getItem(int index)
ThemeLabelItem
类。index
- 指定标签专题图子项的序号。ThemeLabelItem
public int getCount()
public GeoStyle getBackStyle()
public void setBackStyle(GeoStyle style)
style
- 指定标签背景风格。public LabelBackShape getBackShape()
LabelBackShape
。LabelBackShape
LabelBackShape.NONE
,即空背景。public void setBackShape(LabelBackShape value)
LabelBackShape
。value
- 指定标签背景的形状类型。LabelBackShape
public int getMaxLabelLength()
如果输入的字符超过设置的最大长度,可以采用两种方式处理,一种是以换行的方式进行显示,这种方式自动调整字间距,尽量使每一行的字符个数相近,故每一行显示的字符个数小于等于设置的最大长度; 另一种是以省略号方式进行显示,当输入的字符大于设置的最大长度时,多出的字符将以省略号的方式进行显示。
public void setMaxLabelLength(int value)
value
- 指定每一行显示的最大长度。public OverLengthLabelMode getOverLengthMode()
OverLengthLabelMode.NONE
,即对超长标签不进行处理。public void setOverLengthMode(OverLengthLabelMode value)
value
- 指定超长标签的处理方式。public boolean isFlowEnabled()
注:流动显示只适合于线和面要素的标注
。public void setFlowEnabled(boolean value)
注:流动显示只适合于线和面要素的标注
。value
- 指定是否流动显示标签。public boolean isSmallGeometryLabeled()
在标签的长度大于线或者面对象本身的长度时,如果选择继续标注,则标签文字会叠加在一起显示,为了清楚完整的显示该标签,可以采用换行模式来显示标签,但必须保证每行的长度小于对象本身的长度。
public void setSmallGeometryLabeled(boolean value)
在标签的长度大于线或者面对象本身的长度时,如果选择继续标注,则标签文字会叠加在一起显示,为了清楚完整的显示该标签,可以采用换行模式来显示标签,但必须保证每行的长度小于对象本身的长度。
value
- 一个布尔值指定是否显示长度大于被标注对象本身长度的标签。public AlongLineDirection getAlongLineDirection()
AlongLineDirection.LEFT_TOP_TO_RIGHT_BOTTOM
。public void setAlongLineDirection(AlongLineDirection value)
value
- 标签沿线标注方向。public boolean isAlongLine()
注:沿线标注属性只适用于线数据集专题图。
public void setAlongLine(boolean value)
注:沿线标注属性只适用于线数据集专题图。
value
- 指定是否沿线显示文本。public boolean isAngleFixed()
public void setAngleFixed(boolean value)
value
- 指定当沿线显示文本时,是否将文本角度固定。public boolean isOverlapAvoided()
注:在标签重叠度很大的情况下,即使使用自动避让功能,可能也无法完全避免标签重叠现象。
当两个相互重叠的标签同时设置了文本避让时,ID 靠前的标签文本具有优先绘制权。
public void setOverlapAvoided(boolean value)
注:在标签重叠度很大的情况下,即使使用自动避让功能,可能也无法完全避免标签重叠现象。
当两个相互重叠的标签同时设置了文本避让时,ID 靠前的标签文本具有优先绘制权。
value
- 指定是否自动避免文本叠盖。public boolean isRepeatIntervalFixed()
public void setRepeatIntervalFixed(boolean value)
value
- 一个布尔值指定循环标注间隔是否固定。public double getLabelRepeatInterval()
public void setLabelRepeatInterval(double value)
value
- 指定在沿线标注时循环标注的间隔。public java.lang.String getOffsetX()
该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
public void setOffsetX(java.lang.String value)
该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
value
- 指定标签专题图中标记文本相对于要素内点的水平偏移量。public java.lang.String getOffsetY()
该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为2。
public void setOffsetY(java.lang.String value)
该偏移量的值为一个常量值或者字段表达式所表示的值,即如果字段表达式为 SmID,其中 SmID=2,那么偏移量的值为 2。
value
- 指定标签专题图中标记文本相对于要素内点的垂直偏移量。public GeoStyle getLeaderLineStyle()
public void setLeaderLineStyle(GeoStyle style)
style
- 指定标签与其标注对象之间牵引线的风格。public boolean isLeaderLineDisplayed()
public void setLeaderLineDisplayed(boolean value)
value
- 指定是否显示标签和它标注的对象之间的牵引线。public java.lang.String getRangeExpression()
用户根据该方法的返回值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(getLabelExpression()
或 setLabelExpression()
)相应的标注文本。
public void setRangeExpression(java.lang.String value)
用户根据该方法的设置值来比较其从开始到结束的每一个分段值,以确定采用什么风格来显示给定标注字段表达式(getLabelExpression()
或 setLabelExpression()
)相应的标注文本。
value
- 指定分段字段表达式。public java.lang.String getLabelExpression()
public void setLabelExpression(java.lang.String value)
value
- 指定标注字段表达式。public TextStyle getUniformStyle()
setUniformStyle()
将不起作用。public void setUniformStyle(TextStyle style)
setUniformStyle()
将不起作用。style
- 指定统一文本风格。public boolean addToHead(ThemeLabelItem item)
item
- 需要添加的子项。public boolean addToTail(ThemeLabelItem item)
item
- 需要添加的标签专题图子项。public boolean addToHead(ThemeLabelItem item, boolean normalize)
item
- 需要添加的子项。normalize
- 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。public boolean addToTail(ThemeLabelItem item, boolean normalize)
item
- 需要添加的标签专题图子项。normalize
- 表示是否规整化,normalize 为 true时, item 值不合法,则进行规整,normalize 为 fasle时, item 值不合法则抛异常。public boolean split(int index, double splitValue, TextStyle style, java.lang.String caption1, TextStyle style2, java.lang.String caption2)
index
- 指定的标签专题图子项的序号。splitValue
- 指定的拆分分段值。style
- 被拆分的两个标签专题图子项中的一个标签专题图子项的风格。caption1
- 被拆分的两个标签专题图子项中的一个标签专题图子项的名称。style2
- 被拆分的两个标签专题图子项中的另一个标签专题图子项的风格。caption2
- 被拆分的两个标签专题图子项中的另一个标签专题图子项的名称。public boolean merge(int index, int count, TextStyle style, java.lang.String caption)
index
- 指定的标签专题图子项的序号,并以此序号为起始。count
- 要合并的标签专题图子项个数,即从指定的序号开始计算。style
- 合并后的标签专题图子项的风格。caption
- 合并后的标签专题图子项名称。public void clear()
public static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter)
dataset
- 矢量数据集。rangeExpression
- 分段字段表达式。rangeMode
- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter
- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种模式时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。ThemeLabel
的对象实例。public static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType)
dataset
- 矢量数据集。rangeExpression
- 分段字段表达式。rangeMode
- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter
- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType
- 颜色渐变模式。ThemeLabel
的对象实例。public static ThemeLabel makeDefault(DatasetVector dataset, java.lang.String rangeExpression, RangeMode rangeMode, double rangeParameter, ColorGradientType colorGradientType, JoinItems joinItems)
dataset
- 矢量数据集。rangeExpression
- 分段字段表达式。rangeMode
- 分段模式。包括等距离分段法,平方根分段法,标准差分段法,对数分段法,等计数分段法,以及自定义距离法。rangeParameter
- 分段参数。当分段模式为等距离分段法,平方根分段法其中一种时,该参数为分段值;当分段模式为标准差分段法的时候,该参数不起作用;当分段模式为自定义距离时,该参数表示自定义距离。colorGradientType
- 颜色渐变模式。joinItems
- 外部表连接项。
如果要将制作的专题图添加到地图中,作为地图中的图层,需要对该专题图图层进行以下设置,通过该专题图图层对应的 Layer 对象的 setDisplayFilter 方法,该方法中的 queryParameter 参数为 QueryParameter 对象,这里需要通过 QueryParameter 对象的 setJoinItems 方法,将专题的外部表连接项(即当前方法的 joinItems参数)指定给该专题图图层对应的 Layer 对象,这样所做的专题图在地图中显示才正确。
ThemeLabel
的对象实例。public int indexOf(double value)
value
- 给定的分段字段值。public void reverseStyle()
public MixedTextStyle getUniformMixedStyle()
在图层绘制时,各种绘制风格的优先级从高到低为:ThemeLabel.getUniformMixedStyle()
,ThemeLabelItem.getStyle()
,ThemeLabel.getUniformStyle()
,即:当 ThemeLabel.getUniformMixedStyle()
与 ThemeLabelItem.getStyle()
或 ThemeLabel.getUniformStyle()
不一致时,以 ThemeLabel.getUniformMixedStyle()
为准。
public void setUniformMixedStyle(MixedTextStyle value)
在图层绘制时,各种绘制风格的优先级从高到低为:ThemeLabel.getUniformMixedStyle()
,ThemeLabelItem.getStyle()
,ThemeLabel.getUniformStyle()
,即:当 ThemeLabel.getUniformMixedStyle()
与 ThemeLabelItem.getStyle()
或 ThemeLabel.getUniformStyle()
不一致时,以 ThemeLabel.getUniformMixedStyle()
为准。
value
- 标签专题图的文本复合风格。public ThemeLabel getParent()
ThemeLabel
对象。public int getNumericPrecision()
public void setNumericPrecision(int value)
value
- 标签中数字的精度。public int getMaxTextHeight()
该方法在标签不固定大小时有效,当放大后的文本高度超过最大高度之后就不再放大。高度单位为 0.1 毫米。
public void setMaxTextHeight(int value)
该方法在标签不固定大小时有效,当放大后的文本高度超过最大高度之后就不再放大。高度单位为 0.1 毫米。
value
- 标签中文本的最大高度。public int getMinTextHeight()
public void setMinTextHeight(int value)
value
- 标签中文本的最小高度。public int getMaxTextWidth()
public void setMaxTextWidth(int value)
value
- 标签中文本的最大宽度。public int getMinTextWidth()
public void setMinTextWidth(int value)
value
- 标签中文本的最小宽度。public Size2D getTextExtentInflation()
public void setTextExtentInflation(Size2D size2D)
size2D
- 标签中文本在 X,Y 正方向上的缓冲范围。public boolean isRepeatedLabelAvoided()
对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即 setAlongLine(true)
)时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如下图所示。
public void setRepeatedLabelAvoided(boolean value)
对于代表北京地铁四号线的线数据,假如由4条子线段组成,当以名称字段(字段值为:地铁四号线)做为专题变量制作标签专题图且设置沿线标注(即 setAlongLine(true)
)时,如果不选择避免地图重复标注,则显示效果如左图,如果选择了避免地图重复标注,系统会将这条折线的四个子线部分看成一条线来进行标注,其显示效果如右图所示。
value
- 一个布尔值指定是否避免地图重复标注。public boolean isOffsetFixed()
public void setOffsetFixed(boolean value)
value
- 一个布尔值指定是否固定标记文本的偏移量。public void dispose()
public java.lang.String toString()
public boolean isAllDirectionsOverlappedAvoided()
public void setAllDirectionsOverlappedAvoided(boolean value)
value
- 参数为True表示以全方向文本避让,否则以四方向文本避让。public double getAlongLineSpaceRatio()
该值为字高的倍数。
注意:
1.该值大于1就以线中心为准,按指定间隔往两边标注;
2.该值在0到1之间就在线中心按照沿线角度标注单个文本。
3.该值小于等于0采用默认的沿线标注模式。
public void setAlongLineSpaceRatio(double value)
该值为字高的倍数。
注意:
1.该值大于 1 就以线中心为准,按指定间隔往两边标注;
2.该值在 0 到 1 之间就在线中心按照沿线角度标注单个文本。
3.该值小于等于 0 采用默认的沿线标注模式。
value
- 沿线文本间隔比率。public RangeMode getRangeMode()
public double getCustomInterval()