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();
}
}