Solved! Go to Solution.
override public function draw(sprite:Sprite, geometry:Geometry, attributes:Object, map:Map):void { const width2:Number = m_width / 2.0; const height2:Number = m_height / 2.0; const sx:Number = (m_centerX.valueOf())? 0 - width2 : 0; const sy:Number = (m_centerY.valueOf())? 0 - height2 : 0; const osx:Number = sx - m_offsetX; const osy:Number = sy - m_offsetY; var mapPoint:MapPoint if (geometry is MapPoint){ mapPoint = MapPoint(geometry) as MapPoint; }else if (geometry is Polygon){ mapPoint = Polygon(geometry).extent.center; } sprite.x = toScreenX(map, mapPoint.x); sprite.y = toScreenY(map, mapPoint.y); sprite.width = m_width; sprite.height = m_height; sprite.alpha = m_alpha; var field1Val:Number = attributes[m_field1] as Number; var field2Val:Number = attributes[m_field2] as Number; var cTotal:Number = field1Val + field2Val; var field1ValHgt:Number = (field1Val / cTotal) * m_height; var field2ValHgt:Number = (field2Val / cTotal) * m_height sprite.graphics.beginFill(m_color1, m_alpha); sprite.graphics.drawRect(osx , osy, m_width, field1ValHgt); sprite.graphics.endFill(); sprite.graphics.beginFill(m_color2, m_alpha); sprite.graphics.drawRect(osx, osy + field1ValHgt, m_width, field2ValHgt); sprite.graphics.endFill(); } }