ArcGISServer Flex API 内嵌饼状图
InfoSymbol符号内嵌PieChart控件,饼图的dataProvider属性绑定的是{data.thematic},它代表的其实就是Graphic对象的attributes属性的thematic对象,InfoSymbol中的data代表的就是其对应的Graphic对象的attributes属性。 ???????? <fx:Declarations> ?????????????????<!--将非可视元素(例如服务、值对象)放在此处 -->??????????????? ?????????????????<esri:InfoSymbolid="infoSymbol" infoPlacement="center" > ?????????????????????????<esri:infoRenderer> ??????????????????????????????????<fx:Component> ???????????????????????????????????????????<s:ItemRenderer>?????????????????????????????????????? ????????????????????????????????????????????????????<mx:PieChartshowDataTips="true" width="150" height="150"dataProvider="{data.thematic}"> ????????????????????????????????????????????????????????????<mx:series> ?????????????????????????????????????????????????????????????????????<mx:PieSeriesfield="value" displayName="数值" nameField="item"/> ????????????????????????????????????????????????????????????</mx:series> ????????????????????????????????????????????????????</mx:PieChart> ???????????????????????????????????????????</s:ItemRenderer> ??????????????????????????????????</fx:Component> ?????????????????????????</esri:infoRenderer> ?????????????????</esri:InfoSymbol> ???????? </fx:Declarations> ? 注意:要将PieChart控件嵌入到s:ItemRenderer中,否则会提示data属性未定义 ? 查询得到的Graphic中取出要显示在饼图中的属性值(如:p2009、p2010、p2011),组合成包含item、value两字段的对象存放在ArrayCollection中,其中item、value用于PieChart的PieSeries绑定,最后将这个ArrayCollection设置给Graphic.attributes.thematic ? ???????????????????????????????????????????foreach( var gra:Graphic in featureSet.features) ???????????????????????????????????????????{ ????????????????????????????????????????????????????varppoint:MapPoint = gra.geometry as MapPoint; ????????????????????????????????????????????????????varmp:MapPoint = new MapPoint(ppoint.x,ppoint.y); ????????????????????????????????????????????????????varg:Graphic = new Graphic(mp); ????????????????????????????????????????????????????g.attributes= new Object(); ????????????????????????????????????????????????????varthematic:ArrayCollection = new ArrayCollection( [??????????????????????????????????? ???????? ????????????????????????????????????????????????????????????{item: "项目1",value: gra.attributes["p2009"] }, ????????????????????????????????????????????????????????????{item: "项目2",value: gra.attributes["p2010"] }, ????????????????????????????????????????????????????????????{item: "项目3",value: gra.attributes["p2011"] } ]); ????????????????????????????????????????????????????g.attributes.thematic= thematic; ????????????????????????????????????????????????????templyr.add(g);? } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |