And I would need a way to define size of the stacked bar using a normalization field from the feature layer....
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(); } }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.