图层样式组类,定义vector图层不同状态下的样式信息。属性styles中存储由key(‘state’), value(‘Style’) 组成的状态-样式键值对信息。
SuperMap. |
图层样式组类,定义vector图层不同状态下的样式信息。属性styles中存储由key(‘state’), value(‘Style’) 组成的状态-样式键值对信息。 |
Properties | |
styles | Hash of {SuperMap.Style} 属性styles中存储由key(‘state’), value(‘Style’) 组成的状态-样式键值对构成。 默认支持四种样式 “default”, “temporary”, “select”, “delete”。 “default”:即矢量要素默认状态(不被进行任何操作)下的style,若用户不进行单独设置其图层的style属性或者feature要素的style属性,则会使用stylemap中的default对应的style属性。它默认填充色透明黄色,可在stylemap类的声明时候进行更改。 “temporary”:在激活drawfeature控件下,矢量要素在被绘制的过程状态下的style,它默认蓝色实心边界,填充带有透明度的蓝色,可在stylemap类的声明时候进行更改。 “select”:在激活selectFeature控件下,矢量要素被选中(点击该矢量要素)状态下的style,若用户不进行单独设置其selectfeature的selectstyle属性,则会使用stylemap中的select对应的style。它默认填充色透明紫色,可在stylemap类的声明时候进行更改。 “delete”:用来表示被删除的要素的样式(实际上未被删除,还留在图层上)。 |
Constructor | |
SuperMap. |
构造 StyleMap 新实例,可通过三种方式构造StyleMap 新实例。 |
Hash of {SuperMap.Style} 属性styles中存储由key(‘state’), value(‘Style’) 组成的状态-样式键值对构成。 默认支持四种样式 “default”, “temporary”, “select”, “delete”。 “default”:即矢量要素默认状态(不被进行任何操作)下的style,若用户不进行单独设置其图层的style属性或者feature要素的style属性,则会使用stylemap中的default对应的style属性。它默认填充色透明黄色,可在stylemap类的声明时候进行更改。 “temporary”:在激活drawfeature控件下,矢量要素在被绘制的过程状态下的style,它默认蓝色实心边界,填充带有透明度的蓝色,可在stylemap类的声明时候进行更改。 “select”:在激活selectFeature控件下,矢量要素被选中(点击该矢量要素)状态下的style,若用户不进行单独设置其selectfeature的selectstyle属性,则会使用stylemap中的select对应的style。它默认填充色透明紫色,可在stylemap类的声明时候进行更改。 “delete”:用来表示被删除的要素的样式(实际上未被删除,还留在图层上)。
构造 StyleMap 新实例,可通过三种方式构造StyleMap 新实例。
style | {Object} 传入的style参数。 |
1)设置单一样式对象Style,结果会将四种状态样式都设置为此,即相当于没有了状态区别;
2)样式组信息,由状态标签-样式组成的键值对key:Style(或者Object),读取提供的样式,覆盖默认值, 如果后面的值不是Style对象,内部对其封装成Style后使用;
3)有样式具体信息构成的Object对象,直接将其封装成Style样式,然后同1;
4)当默认支持的四种状态不能满足用户需求时,用户也可自定义状态及其样式。
以上几种情况示例代码如下所示:
(1) 直接设置单一style,实现代码如下,依照下面代码定义样式之后,四种状态都有下面的style样式
var myStyles = new SuperMap.StyleMap( new SuperMap.Style({ fillColor:"#ffcc33", strokeColor:"#ccff99", strokeWidth:2, graphicZIndex:1 }) );
(2) 直接设置状态-样式键值对,代码如下所示,需要注意的是,代码中只定义了default 和 select两个状态的样式 所以仅仅这两个状态有样式,两外两种状态 temporary、delete 的样式为 null
var myStyles = new SuperMap.StyleMap({ "default":new SuperMap.Style({ fillColor:"#ffcc33", strokeColor:"#ccff99", strokeWidth:2, graphicZIndex:1 }), "select":{ fillColor:"33eeff", strokeColor:"3366aa", graphicZIndex:2 } });
(3)直接传入样式信息,实现代码如下:
var myStyles = new SuperMap.StyleMap({ fillColor:"#ffcc33", strokeColor:"#ccff99", strokeWidth:2, graphicZIndex:1 });
(4) 自定义状态及其样式,代码如下:
var myStyles = new SuperMap.StyleMap({ "default":new SuperMap.Style({ fillColor:"#ffcc33", strokeColor:"#ccff99", strokeWidth:2, graphicZIndex:1 }), "click":{ fillColor:"33eeff", strokeColor:"3366aa", graphicZIndex:2 } });
options | {Object} 此类开出来的属性。 |