| define(function () { | 
|     /** | 
|      * | 
|      *@param {Object} options | 
|      *@param {Cesium.Color|String}[options.outlineColor=Cesium.Color.YELLOW] 线或边颜色,仅线、面数据有效。 | 
|      *@param {Cesium.Color|String}[options.fillColor=Cesium.Color.fromBytes(0, 255, 255, 30)] 填充颜色,仅面数据有效。 | 
|      *@param {Cesium.Color|String}[options.backgroundColor] 背景色 | 
|      *@param {Number}[options.lineWidth=1.5] 线宽,仅线数据有效。 | 
|      *@param {Boolean}[options.outline=true] 是否显示边,仅面数据有效。 | 
|      *@param {Boolean}[options.fill=true] 是否填充,仅面数据有效。 | 
|      *@param {Cesium.Color|String}[options.fontColor=Cesium.Color.BLACK] 注记文本颜色 | 
|      *@param {Number}[options.fontSize=16] 注记文本字体大小,仅在数据有点时有效。 | 
|      *@param {String}[options.fontFamily="宋体"] 注记文本字体名称,仅在数据有点时有效。 | 
|      *@param {Boolean}[options.labelStroke] 是否显示注记文本轮廓线,仅在数据有点时有效。 | 
|      *@param {String}[options.labelStrokeWidth=1] 注记文本轮廓线宽,仅在数据有点时有效。 | 
|      *@param {Cesium.Color|String}[options.labelStrokeColor] 注记文本轮廓线颜色,仅在数据有点时有效。 | 
|      *  | 
|      *@param {Number}[options.pointSize=4] 注记点大小,仅在数据有点时有效。 | 
|      *@param {Cesium.Color|String}[options.pointColor=Cesium.Color.YELLOW] 注记点颜色,仅在数据有点时有效。 | 
|      *@param {String}[options.labelPropertyName='NAME'] 注记文本属性名称,仅在数据有点时有效。 | 
|      *@param {String}[options.makerImage=undefined] 注记点图标,如果设置点图标,则其他点样式参数无效,仅在数据有点时有效。 | 
|      *@param {Number}[options.ringRadius=2] 注记点样式为Ring时,圆心点大小(半径),仅在数据有点时有效。 | 
|      *@param {String}[options.pointStyle='Ring'] 注记点样式,仅在数据有点时有效。'Solid'为实心圆,'Ring'为带圆心的圆形,'Circle'为空心圆 | 
|      *@param {Number}[options.circleLineWidth=2] 注记点样式为Circle时,圆形线宽 | 
|      *@param {Boolean}[options.showMaker=true] 是否显示注记点,仅在数据有点时有效。 | 
|      *@param {Boolean}[options.showLabel=true] 是否显示文本,仅在数据有点时有效。 | 
|      *@param {Boolean}[options.showCenterLabel=true] 是否显示文本,仅对线和面数据有效。 | 
|      *@param {String}[options.centerLabelPropertyName] 几何中心注记文本属性名称,仅对线和面数据有效。 | 
|      *@param {Number}[options.labelOffsetX=10] 标注文本x方向偏移量,仅在数据有点时有效。以屏幕为参考,左上角为0,向右为正,单位为像素 | 
|      *@param {Number}[options.labelOffsetY=5] 标注文本y方向偏移量,仅在数据有点时有效。以屏幕为参考,左上角为0,向下为正,单位为像素  | 
|      *@param {Array.<Number>}[options.lineDash=undefined] 虚线样式,不设置则为实线 | 
|      *@param {String}[options.lineCap="butt"] 设置线条末端线帽的样式。 butt——默认。向线条的每个末端添加平直的边缘;round——向线条的每个末端添加圆形线帽;square——向线条的每个末端添加正方形线帽。 | 
|      *@param {String}[options.shadowColor=undefined] 设置用于阴影的颜色 | 
|      *@param {Number}[options.shadowBlur=undefined] 设置用于阴影的模糊级别 | 
|      *@param {Number}[options.shadowOffsetX=undefined] 设置阴影距形状的水平距离 | 
|      *@param {Number}[options.shadowOffsetY=undefined] 设置阴影距形状的垂直距离 | 
|      *@param {String}[options.lineJoin="miter"] 设置当两条线交汇时所创建边角的类型。bevel——斜角;round——创建圆角;miter——默认。创建尖角。 | 
|      *@param {Number}[options.miterLimit=10] 设置最大斜接长度。 | 
|      *@memberof Cesium | 
|      *@constructor  | 
|      */ | 
|     function VectorStyle(options) { | 
|         //*@param {Number}[options.lineOffset=undefined] 双线样式参数,两线间距,单位为米(m)。不设置则为单线 | 
|      | 
|         if (typeof document == 'undefined') { | 
|             return options; | 
|         } | 
|         options = Cesium.defaultValue(options, Cesium.defaultValue.EMPTY_OBJECT); | 
|         //面样式 | 
|         this.fillColor = Cesium.defaultValue(options.fillColor, Cesium.Color.fromBytes(0, 255, 255, 30)); | 
|         if (typeof this.fillColor == 'string') { | 
|             this.fillColor = Cesium.Color.fromCssColorString(this.fillColor); | 
|         } | 
|         this.fill = Cesium.defaultValue(options.fill, true); | 
|   | 
|         this.labelStroke = options.labelStroke; | 
|         this.labelStrokeWidth = Cesium.defaultValue(options.labelStrokeWidth, 1); | 
|         this.labelStrokeColor = Cesium.defaultValue(options.labelStrokeColor, Cesium.Color.fromBytes(160, 99, 57)); | 
|         if (typeof this.labelStrokeColor == 'string') { | 
|             this.labelStrokeColor = Cesium.Color.fromCssColorString(this.labelStrokeColor); | 
|         } | 
|         //线样式 | 
|         this.outlineColor = Cesium.defaultValue(options.outlineColor, Cesium.Color.YELLOW); | 
|         if (typeof this.outlineColor == 'string') { | 
|             this.outlineColor = Cesium.Color.fromCssColorString(this.outlineColor); | 
|         } | 
|         this.backgroundColor = options.backgroundColor; | 
|         if (typeof this.backgroundColor == 'string') { | 
|             this.backgroundColor = Cesium.Color.fromCssColorString(this.backgroundColor); | 
|         } | 
|   | 
|         this.lineWidth = Cesium.defaultValue(options.lineWidth, 1.5); | 
|         this.outline = Cesium.defaultValue(options.outline, true); | 
|   | 
|         //注记样式 | 
|         this.fontColor = Cesium.defaultValue(options.fontColor, Cesium.Color.BLACK); | 
|         if (typeof this.fontColor == 'string') { | 
|             this.fontColor = Cesium.Color.fromCssColorString(this.fontColor); | 
|         } | 
|   | 
|         this.fontSize = Cesium.defaultValue(options.fontSize, 16); | 
|         this.fontFamily = Cesium.defaultValue(options.fontFamily, "宋体"); | 
|         this.pointSize = Cesium.defaultValue(options.pointSize, 4); | 
|         this.pointColor = Cesium.defaultValue(options.pointColor, Cesium.Color.YELLOW); | 
|         if (typeof this.pointColor == 'string') { | 
|             this.pointColor = Cesium.Color.fromCssColorString(this.pointColor); | 
|         } | 
|   | 
|         this.pointStyle = Cesium.defaultValue(options.pointStyle, 'Ring');//'Solid','Ring','Circle' | 
|         this.labelPropertyName = Cesium.defaultValue(options.labelPropertyName, 'NAME'); | 
|         this.ringRadius = Cesium.defaultValue(options.ringRadius, 2); | 
|         this.circleLineWidth = Cesium.defaultValue(options.circleLineWidth, 2); | 
|         this.showMaker = Cesium.defaultValue(options.showMaker, true); | 
|         this.showLabel = Cesium.defaultValue(options.showLabel, true); | 
|           | 
|         this.showCenterLabel = Cesium.defaultValue(options.showCenterLabel, false); | 
|         this.centerLabelPropertyName = options.centerLabelPropertyName; | 
|   | 
|         this.labelOffsetX = Cesium.defaultValue(options.labelOffsetX, 0); | 
|         this.labelOffsetY = Cesium.defaultValue(options.labelOffsetY, 0); | 
|         this.makerImage = options.makerImage; | 
|   | 
|         this.lineDash = options.lineDash; | 
|         //this.lineOffset = options.lineOffset; | 
|         this.lineCap = Cesium.defaultValue(options.lineCap, "butt"); | 
|         this.lineJoin = Cesium.defaultValue(options.lineJoin, "miter"); | 
|         this.shadowColor = options.shadowColor; | 
|           | 
|         this.shadowBlur = options.shadowBlur; | 
|         this.shadowOffsetX = options.shadowOffsetX; | 
|         this.shadowOffsetY = options.shadowOffsetY; | 
|         this.miterLimit = Cesium.defaultValue(options.miterLimit, 10); | 
|   | 
|         this.makerImageEl = null; | 
|         var makerImagePromise = null; | 
|         this.readyPromise = Cesium.when.defer(); | 
|         var that = this; | 
|         if (typeof this.makerImage == 'string') { | 
|   | 
|             var image = new Image(); | 
|             image.onload = function () { | 
|                 that.makerImageEl = this; | 
|                 that.readyPromise.resolve(true); | 
|             } | 
|             image.onerror = function (err) { | 
|                 that.readyPromise.reject(err); | 
|             } | 
|             image.src = this.makerImage; | 
|         } else { | 
|             if (this.makerImage instanceof Image) { | 
|                 this.makerImageEl = this.makerImage; | 
|             } | 
|             setTimeout(function () { | 
|   | 
|                 that.readyPromise.resolve(true); | 
|             }, 10) | 
|         } | 
|   | 
|     } | 
|   | 
|     /** | 
|     * | 
|     *@return {Cesium.VectorStyle} | 
|     */ | 
|     VectorStyle.prototype.clone = function () { | 
|         var style = new VectorStyle(); | 
|         for (var i in this) { | 
|   | 
|             if (this.hasOwnProperty(i)) { | 
|                 if (this[i] instanceof Cesium.Color) { | 
|                     style[i] = Cesium.Color.clone(this[i]); | 
|                 } else { | 
|                     style[i] = this[i]; | 
|                 } | 
|             } | 
|         } | 
|         return style; | 
|     } | 
|   | 
|     /** | 
|     * | 
|     *@type {Cesium.VectorStyle} | 
|     */ | 
|     VectorStyle.Default = new VectorStyle(); | 
|   | 
|     return VectorStyle; | 
| }) |