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(); } }
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.