SuperMap.StyleMap

图层样式组类,定义vector图层不同状态下的样式信息。属性styles中存储由key(‘state’), value(‘Style’) 组成的状态-样式键值对信息。

Summary
SuperMap.StyleMap 图层样式组类,定义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 新实例,可通过三种方式构造StyleMap 新实例。

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 新实例,可通过三种方式构造StyleMap 新实例。

Parameters

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} 此类开出来的属性。