【ArcGIS】使用 MXML 或 ActionScript 添加图形Graphics

使用 MXML 或 ActionScript 添加图形Graphics

<?xml version="1.0" encoding="utf-8"?>  
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"  
               xmlns:esri="http://www.esri.com/2008/ags" pageTitle="使用 MXML 或 ActionScript 添加图形Graphics">  
    <!--  
    文档:  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/Graphic.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/SpatialReference.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/geometry/Polyline.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/geometry/Polygon.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/symbols/PictureMarkerSymbol.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/symbols/SimpleMarkerSymbol.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/symbols/SimpleLineSymbol.html  
    https://developers.arcgis.com/en/flex/api-reference/com/esri/ags/symbols/SimpleFillSymbol.html  
    -->  
  
    <s:layout>  
        <s:VerticalLayout horizontalAlign="center"/>  
    </s:layout>  
  
    <fx:Script>  
        <![CDATA[ 
            import com.esri.ags.SpatialReference; 
            import com.esri.ags.symbols.PictureMarkerSymbol; 
 
            /** 添加标记 **/ 
            private function addSomeMarkers():void 
            { 
                var myGraphicMarker:Graphic = new Graphic(new MapPoint(1447100, 7477200, new SpatialReference(102100)), 
                                                          new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_DIAMOND, 22, 0x009933)); 
                myGraphicMarker.toolTip = "用ActionScript添加标记 SimpleMarkerSymbol"; 
                myGraphicsLayer.add(myGraphicMarker); 
 
                 
                // 图片标记 PictureMarker - embedded image 
                [Embed(source='assets/globe_icon.png')] 
                var picEmbeddedClass:Class; 
                var pictureMarker:PictureMarkerSymbol = new PictureMarkerSymbol(picEmbeddedClass,50,50); 
 
                var myGraphicPic:Graphic = new Graphic(new MapPoint(-411000, 4924000, new SpatialReference(102100))); 
                myGraphicPic.symbol = pictureMarker; 
                myGraphicPic.toolTip = "用ActionScript创建 图片标记 PictureMarkerSymbol"; 
                myGraphicsLayer.add(myGraphicPic); 
 
                 
                var myPolyline:Polyline = new Polyline( 
                    [[ 
                     new MapPoint(-1726185, 9543036), 
                     new MapPoint(34923, 6920940), 
                     new MapPoint(1874303, 6255632), 
                     new MapPoint(1835168, 6255632), 
                     new MapPoint(1913439, 6138225) 
                     ]], new SpatialReference(102100)); 
                var myGraphicLine:Graphic = new Graphic(myPolyline); 
                myGraphicLine.symbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, 0xDD2222, 1.0, 4); 
                myGraphicLine.toolTip = "用ActionScript创建 线 SimpleLineSymbol"; 
                myGraphicsLayer.add(myGraphicLine); 
 
                var myPolygon:Polygon = new Polygon( 
                    [[ 
                     new MapPoint(2352491, -1992338), 
                     new MapPoint(2332923, -2461967), 
                     new MapPoint(2646009, -2266288), 
                     new MapPoint(3076503, -2324992), 
                     new MapPoint(3272181, -2520670), 
                     new MapPoint(3506996, -2559806), 
                     new MapPoint(3702675, -3049003), 
                     new MapPoint(3370021, -3675175), 
                     new MapPoint(2763416, -4046965), 
                     new MapPoint(2117676, -4144804), 
                     new MapPoint(1961133, -3890422), 
                     new MapPoint(2000269, -3655607), 
                     new MapPoint(1667615, -3185978), 
                     new MapPoint(1550208, -2422831), 
                     new MapPoint(1334961, -1953202), 
                     new MapPoint(2352491, -1992338) 
                     ]], new SpatialReference(102100)); 
                var myGraphicPolygon:Graphic = new Graphic(); 
                myGraphicPolygon.geometry = myPolygon; 
                myGraphicPolygon.symbol = new SimpleFillSymbol( 
                    SimpleFillSymbol.STYLE_SOLID, // fill style 
                    0xFF0000, // 填充颜色 
                    0.7 // 透明度 
                    ); 
                myGraphicPolygon.toolTip = "用ActionScript创建多边形 SimpleFillSymbol"; 
                myGraphicsLayer.add(myGraphicPolygon); 
                btn.enabled = false; 
            } 
        ]]>  
    </fx:Script>  
  
    <s:controlBarContent>  
        <s:RichText width="100%">  
            这个示例演示了使用MXML或ActionScript将图像添加到地图。  
            简单的标记符号,图像标记符号,简单的线条符号,简单填充符号,和图片填充符号显示。  
            Simple marker symbols, picture marker symbols, simple line symbols, simple fill symbols, and picture fill symbols are shown.  
        </s:RichText>  
        <s:Button id="btn"  
                  click="addSomeMarkers()"  
                  label="使用ActionScript添加更多的标记"/>  
    </s:controlBarContent>  
  
    <esri:Map id="myMap"  
              level="2"  
              wrapAround180="true">  
        <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>  
        <esri:GraphicsLayer id="myGraphicsLayer">  
            <esri:Graphic toolTip="加利福尼亚州的MapPoint与SimpleMarkerSymbol">  
                <esri:geometry>  
                    <esri:MapPoint x="-13163000" y="4035000"  
                                   spatialReference="{new SpatialReference(102100)}"/>  
                </esri:geometry>  
                <esri:symbol>  
                    <esri:SimpleMarkerSymbol color="0x0033DD" size="18"/>  
                </esri:symbol>  
            </esri:Graphic>  
            <esri:Graphic toolTip="飓风折线的SimpleLineSymbol">  
                <esri:geometry>  
                    <esri:Polyline spatialReference="{new SpatialReference(102100)}">  
                        <fx:Array>  
                            <fx:Array>  
                                <esri:MapPoint x="-4700503" y="1128848"/>  
                                <esri:MapPoint x="-7909635" y="2819513"/>  
                                <esri:MapPoint x="-8144450" y="4199048"/>  
                                <esri:MapPoint x="-7244327" y="5261584"/>  
                            </fx:Array>  
                        </fx:Array>  
                    </esri:Polyline>  
                </esri:geometry>  
                <esri:symbol>  
                    <esri:SimpleLineSymbol width="3" color="0xFF0000"/>  
                </esri:symbol>  
            </esri:Graphic>  
            <esri:Graphic toolTip="带SimpleFillSymbol多边形的巴西">  
                <esri:geometry>  
                    <esri:Polygon spatialReference="{new SpatialReference(102100)}">  
                        <fx:Array>  
                            <fx:Array>  
                                <esri:MapPoint x="-3867905" y="-671044"/>  
                                <esri:MapPoint x="-4533702" y="-2578326"/>  
                                <esri:MapPoint x="-5316417" y="-2832708"/>  
                                <esri:MapPoint x="-5844750" y="-3869806"/>  
                                <esri:MapPoint x="-6333947" y="-3498016"/>  
                                <esri:MapPoint x="-6412218" y="-1942370"/>  
                                <esri:MapPoint x="-8211974" y="-954779"/>  
                                <esri:MapPoint x="-7703209" y="229077"/>  
                                <esri:MapPoint x="-5736637" y="454597"/>  
                                <esri:MapPoint x="-3867905" y="-671044"/>  
                            </fx:Array>  
                        </fx:Array>  
                    </esri:Polygon>  
                </esri:geometry>  
                <esri:symbol>  
                    <esri:SimpleFillSymbol alpha="0.7" color="0x009933"/>  
                </esri:symbol>  
            </esri:Graphic>  
        </esri:GraphicsLayer>  
    </esri:Map>  
</s:Application>

ArcGIS 使用 MXML 或 ActionScript 添加图形Graphics

原文摘录官方demo: https://developers.arcgis.com/flex/sample-code/adding-graphics.htm



未经允许请勿转载:程序喵 » 【ArcGIS】使用 MXML 或 ActionScript 添加图形Graphics

点  赞 (0) 打  赏
分享到: