控制标签渲染的策略。
SuperMap. |
控制标签渲染的策略。 |
Properties | |
groupField | {String} 指定标签风格分组的属性字段名称。此属性字段是标签要素 attributes 中包含的字段,且字段对应的值的类型必须是数值型。 使用标签分组显示还需要设置 styleGroups 属性。 |
isAvoid | {Boolean} 是否进行地图边缘的避让处理,如果设为true,将把与地图边缘相交的标签移到地图范围内,默认为 true,在地图边缘处做避让处理。 |
isOverLay | {Boolean} 是否进行压盖处理,如果设为true,将隐藏被压盖的标签,默认为true。 |
style | {Object} 标签的样式。此对象的可设属性可分为两类,第一类是标签文本样式,第二类是标签背景框样式。 |
styleGroups | {Array} 标签风格分组数组,此数组用于将标签分组显示,每一组标签有一种显示风格。使用此属性需要设置 groupField 属性。 |
Constructor | |
SuperMap. |
构造一个新的 GeoText 策略对象,用于控制标签要素在 vector 中的绘制。 |
Functions | |
destroy | 清除策略(strategy)。 |
{Object} 标签的样式。此对象的可设属性可分为两类,第一类是标签文本样式,第二类是标签背景框样式。
标签文本样式支持的属性有:
labelAlign | {String} 标签对齐,是由两个字符组成的字符串,如:”lt”, “cm”, “rb”。 其中第一个字符代表水平方向上的对齐,”l”=left, “c”=center, “r”=right。 第二个字符代表垂直方向上的对齐,”t”=top, “m”=middle, “b”=bottom。 |
labelXOffset | {Number} 标签在x轴方向的偏移量,默认值0。 |
labelYOffset | {Number} 标签在y轴方向的偏移量,默认值0。 |
fontColor | {String} 标签字体颜色,默认值”#000000”。 |
fontOpacity | {Number} 标签透明度 (0-1),默认值为1。 |
fontFamily | {String} 标签的字体类型。如:”sans-serif”。 |
fontSize | {String} 标签的字体大小。默认值“12px”,最小为12px。 |
fontStyle | {String} 标签的字体样式。可设值有:normal(标准的字体)、italic(斜体)、oblique(倾斜体)。默认值“normal”。 |
fontWeight | {String} 标签的字体粗细,可设值有:lighter(细字符)、normal(标准字符)、bold(粗体字符)、bolder(更粗的字符)。默认值“normal”。 |
labelRotation | {Number} 旋转角度,单位是度,不支持VML渲染器,,默认值为0。 |
标签背景框样式支持的属性有:
fill | {Boolean} 是否使用背景色填充,默认值为false。 |
fillColor | {String} 填充背景色,默认为”#ee9900”。 |
fillOpacity | {Number} 背景填充不透明度(0-1),默认为: 0.4。 |
stroke | {Boolean} 是否使用背景框,默认值为false。 |
strokeColor | {String} 背景框描边颜色。 |
strokeOpacity | {Number} 背景框的不透明度(0-1),默认为1。 |
strokeWidth | {Number} 背景框像素宽度,默认为1。 |
strokeLinecap | {String} strokeLinecap有三种类型 butt,round,square,默认为”round”。 |
strokeDashstyle | {String} 有dot, dash, dashdot, longdash, longdashdot, solid几种样式,默认为”solid”。 |
{Array} 标签风格分组数组,此数组用于将标签分组显示,每一组标签有一种显示风格。使用此属性需要设置 groupField 属性。
标签分组显示有如下情况:
1.没有同时设置 groupField 和 styleGroups,则所有标签都使用本策略(Strategy.GeoText)的 style;
2.同时设置 groupField 和 styleGroups,则按照 groupField 指定的字段名称获取标签要素 attributes 中对应的属性值(Number型);
a.如果属性值所对应的范围在 styleGroups 数组里,则此标签取数组里与该范围对应的 style。
b.如果属性值所对应的范围没有在 styleGroups 数组里,则此标签按照本策略(Strategy.GeoText)的 style 渲染。
此数组的每一个子对象必须有三个属性:
start : 与字段 groupField 相对应的属性值下限(包含); end:与字段 groupField 相对应的属性值上限(不包含); style:要赋值标签的style。
styleGroups数组形如: [ { start:200000, end:500000, style:{ fontColor:"#00CD00", fontWeight:"bolder", fontSize:"18px" } }, { start:500000, end:1000000, style:{ fontColor:"#00EE00", fontWeight:"bolder", fontSize:"24px" } }, { start:1000000, end:2000000, style:{ fontColor:"#00FF7F", fontWeight:"bolder", fontSize:"30px" } }, { start:2000000, end:100000000, style:{ fontColor:"#00FF00", fontWeight:"bolder", fontSize:"36px" } } ]
构造一个新的 GeoText 策略对象,用于控制标签要素在 vector 中的绘制。
//新建一个策略并使用在矢量要素图层(vector)上。 var strategy = new SuperMap.Strategy.GeoText(); var vectorLayer = new SuperMap.Layer.Vector("Label",{strategies: [strategy]});
options | {Object} 将会被加到策略对象上的可选参数 |
{<Constructor: SuperMap.Strategy.GeoText>} GeoText 策略对象。
清除策略(strategy)。
destroy: function()