`
futureeye
  • 浏览: 49949 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

flex 中渲染renderer的使用

    博客分类:
  • flex
阅读更多
   一直以来觉得renderer很强大,今天终于有时间把renderer好好地整理了一下。
renderer渲染可以使加载的featureLayer的元素以不同的symbol呈现。
1,首先必须说的是render是不能为空的,他的下面必须有相对应的子render
   先看看render下面有ClassBreaksRenderer的情况,这个render可以设定一个属性,根据属性的值给出不同的symbol如:
    <esri:FeatureLayer id="hurricaneFeatureLayer"
                           load="hurricaneFeatureLayer_loadHandler(event)"
                           mode="snapshot"
                           outFields="[EVENTID,WINDSPEED]"
                           trackIdField="EVENTID"
                           url="http://servicesbeta.esri.com/ArcGIS/rest/services/Hurricanes/Hurricanes/MapServer/0">
            <esri:renderer>
<esri:ClassBreaksRenderer attribute="WINDSPEED" defaultLabel="defaultLabel">
<esri:ClassBreakInfo maxValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="green"
size="5"/>
<esri:TextSymbol textAttribute="EVENTID"
textFormat="{textFormat}"
yoffset="8"/>
<esri:TextSymbol textFunction="myTextFunction" yoffset="-8"/>
</esri:CompositeSymbol>
</esri:ClassBreakInfo>
<esri:ClassBreakInfo maxValue="40" minValue="20">
<esri:CompositeSymbol>
<esri:SimpleMarkerSymbol alpha="0.7"
color="red"
size="15"/>
</esri:ClassBreakInfo>
</esri:ClassBreaksRenderer>

效果图如下:


2,SimpleRenderer是一个很简单的renderer,这个renderer只能用一种symbol
 <esri:renderer> 
				<esri:SimpleRenderer>
					<esri:SimpleMarkerSymbol alpha="0.7"
											 color="green"
											 size="5"/>
				</esri:SimpleRenderer>

效果图如下:


3,TemporalRenderer是用于时间轴图层的渲染。
 <esri:FeatureLayer id="hurricaneFeatureLayer"
                           load="hurricaneFeatureLayer_loadHandler(event)"
                           mode="snapshot"
                           outFields="[EVENTID,WINDSPEED]"
                           trackIdField="EVENTID"
                           url="http://servicesbeta.esri.com/ArcGIS/rest/services/Hurricanes/Hurricanes/MapServer/0">
            <esri:renderer> 
		
                <esri:TemporalRenderer>
                    <esri:trackRenderer>
                        <esri:SimpleRenderer>
                            <esri:SimpleLineSymbol style="dash"/>
                        </esri:SimpleRenderer>
                    </esri:trackRenderer>
                    <esri:latestObservationRenderer>
                        <esri:ClassBreaksRenderer attribute="WINDSPEED">
                            <esri:ClassBreakInfo maxValue="20">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="green"
                                                             size="5"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="8"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-8"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="40" minValue="20">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="green"
                                                             size="15"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="13"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-13"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="60" minValue="40">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="red"
                                                             size="25"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="18"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-18"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="80" minValue="60">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="green"
                                                             size="35"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="23"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-23"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="100" minValue="80">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="green"
                                                             size="45"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="28"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-28"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo minValue="100">
                                <esri:CompositeSymbol>
                                    <esri:SimpleMarkerSymbol alpha="0.7"
                                                             color="green"
                                                             size="55"/>
                                    <esri:TextSymbol textAttribute="EVENTID"
                                                     textFormat="{textFormat}"
                                                     yoffset="33"/>
                                    <esri:TextSymbol textFunction="myTextFunction" yoffset="-33"/>
                                </esri:CompositeSymbol>
                            </esri:ClassBreakInfo>
                        </esri:ClassBreaksRenderer>
                    </esri:latestObservationRenderer>
                    <esri:observationRenderer>
                        <esri:ClassBreaksRenderer attribute="WINDSPEED">
                            <esri:ClassBreakInfo maxValue="20">
                                <esri:SimpleMarkerSymbol color="white" size="5"/>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="40" minValue="20">
                                <esri:SimpleMarkerSymbol color="white" size="15"/>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="60" minValue="40">
                                <esri:SimpleMarkerSymbol color="white" size="25"/>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="80" minValue="60">
                                <esri:SimpleMarkerSymbol color="white" size="35"/>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo maxValue="100" minValue="80">
                                <esri:SimpleMarkerSymbol color="white" size="45"/>
                            </esri:ClassBreakInfo>
                            <esri:ClassBreakInfo minValue="100">
                                <esri:SimpleMarkerSymbol color="white" size="55"/>
                            </esri:ClassBreakInfo>
                        </esri:ClassBreaksRenderer>
                    </esri:observationRenderer>
                    <esri:observationAger>
                        <esri:TimeRampAger>
                            <esri:alphaRange>
                                <esri:AlphaRange fromAlpha="0.1" toAlpha="0.4"/>
                            </esri:alphaRange>
                        </esri:TimeRampAger>
                    </esri:observationAger>
                </esri:TemporalRenderer>
            </esri:renderer>
        </esri:FeatureLayer>



  • 大小: 373 KB
  • 大小: 168.4 KB
  • 大小: 252.7 KB
分享到:
评论

相关推荐

    flex在DataGrid中实现checkbox全选或取消

    在IT行业中,尤其是在Web开发领域,Flex是一种广泛使用的ActionScript框架,它允许开发者构建富互联网应用程序(RIA)。本文将深入探讨如何在Flex中的DataGrid组件中实现复选框的全选与取消全选功能,这对于数据操作...

    Flex Datagrid checkbox实现

    3. **处理复选框的事件**:为了响应用户的点击事件,我们需要在自定义Renderer中添加事件监听器,通常会监听CheckBox的`change`事件,然后根据需要更新数据源。 4. **双向绑定**:为了确保Datagrid的数据源和复选框...

    Flex DataGird Add RadioButton

    在实际开发中,使用Flex DataGrid添加RadioButton不仅提高了用户体验,还能简化数据处理,尤其是在处理大量可选记录时。同时,这种做法也体现了Flex的灵活性,即通过自定义组件和渲染器来满足各种界面需求。了解并...

    flex tree 修改icon方法

    图标是TreeItemRenderer的一部分,我们可以通过覆盖默认的renderer类或使用itemRenderers属性来自定义渲染器。 1. **覆盖默认渲染器**:在Flex中,我们可以创建一个新的MXML或ActionScript类,该类继承自默认的...

    flex Datagrid checkbox全选

    对于行中的checkbox,你可以在数据源中定义对应的字段,Flex会自动使用默认的`CheckBoxItemRenderer`。 总结起来,实现Flex Datagrid checkbox全选功能主要涉及自定义数据列、表头渲染器和行渲染器,通过事件监听和...

    理解 Flex_itemRenderer

    Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者可以实现高度个性化的数据展示效果。 #### 二、Flex_itemRenderer ...

    flex quick starts

    本文档主要介绍了在Flex中使用条目渲染器(Item Renderer)来定制化列表显示的方法。 #### 二、基础知识概述 **条目渲染器(Item Renderer)**是一种用于控制列表中每一项如何被呈现出来的组件。它允许开发者自定义每个...

    Flex基础培训

    - 定义事件名称和类型:首先在自定义组件中使用元数据标签`[Event]`定义事件的名称和类型。 - 实例化事件对象:接着创建该事件类型的实例。 - 派发事件:使用`dispatchEvent`方法将事件发送出去。 - 处理事件:...

    flex_tree扩展_时间轴

    3. **呈现器(Renderer)**:了解如何编写自定义的呈现器类,以改变组件中各个元素的显示方式。 4. **数据绑定**:利用Flex的数据绑定机制将数据模型与界面元素关联,实现动态更新。 5. **事件处理**:学习如何...

    Flex DataGrid 改变某一行的背景颜色

    总结,改变Flex DataGrid中某一行的背景颜色通常涉及自定义ItemRenderer、使用CSS样式或者监听事件。选择哪种方法取决于具体需求,如是否需要复杂逻辑、性能要求以及代码可维护性等因素。通过这些技术,我们可以使...

    flex datagrid中实现显示序列号

    在这个文件中,我们需要继承自`MX:Canvas`或`Spark:Label`(取决于你使用的Flex版本,MX是Flex 3.x时代的组件,Spark是Flex 4.x及以后版本的组件)。 ```mxml &lt;!-- 如果使用Spark组件 --&gt; &lt;![CDATA[ override ...

    flex actionscript dashed line

    最后,`ChartTest.mxml`是测试应用程序,用于展示如何在实际场景中使用这些自定义组件和方法。它可能包含了创建图表、添加数据、指定渲染器等操作,通过运行这个文件,开发者可以直观地看到虚线效果在不同情况下的...

    AS3写Flex皮肤问题代码

    为了在项目中使用这个自定义皮肤,我们需要将其应用到List组件上。在Flex MXML中,可以这样设置: ```mxml &lt;!-- 数据提供者和其他属性 --&gt; ``` 这就是关于“AS3写Flex皮肤问题代码”的详细解释。通过自定义Flex...

    打印预览(flex)

    4. **布局与渲染**:在Flex中,布局管理器如BoxLayout、GridLayout等,用于控制组件的排列和大小。在打印预览中,需要考虑到不同的页面尺寸和方向,可能需要自定义布局以适应打印需求。 5. **打印事件和回调**:...

    Flex dataGrid 自定义显示列

    对于更复杂的自定义,我们可以使用`renderer`属性来指定自定义渲染器。渲染器是决定数据如何在界面上显示的关键组件。通过创建自定义的MX:ListBaseItemRenderer或Spark:GridItemRenderer子类,我们可以完全控制...

    如何在Renderer中设置属性 Renderer中设置属性的方法实例

    在了解如何在Renderer中设置属性之前,我们首先需要了解Renderer的概念。Renderer是编程中用于渲染元素的组件或对象。在不同的编程框架和图形库中,Renderer可能具有不同的含义和用途。在本例中,我们讨论的是Adobe ...

    一名优秀Flex开发者需要知道的十样东西

    项目渲染器(item renderer)允许开发者自定义列表控件的数据展示,是创建视觉吸引力强的应用的关键。通过实践和研究Flex Examples和关于Flex 4列表和布局的深入探讨,可以提升项目渲染器的运用技巧。 Flex应用通常...

    Flex--AdvanceDataGrid(列头筛选功能,含ComboBox列、Button列、Checkbox列等)

    在Flex中,我们通常通过创建一个AdvancedDataGrid实例并绑定数据提供者来使用它。数据提供者可以是ArrayCollection或其他支持ICollectionView接口的数据结构。 列头筛选功能的实现通常是通过监听AdvancedDataGrid的...

    datagrid行的背景色

    在Flex中,我们可以使用CSS(Cascading Style Sheets)来定义样式。创建一个CSS文件,例如`styles.css`,并在其中定义一个类,用于设置Datagrid行的背景色。例如,我们可以定义一个名为`highlightedRow`的类: ``...

    ArcGIS 10.0 API diagram for Flex 2.x 结构图

    ArcGIS Server 10.0 API for Flex 2.x 是Esri公司为开发者提供的一套API,允许开发者在Adobe Flex应用程序中嵌入和使用地理信息系统(GIS)功能。Flex是一种由Adobe Systems开发的富互联网应用(RIA)技术,它使用...

Global site tag (gtag.js) - Google Analytics