使用 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>
原文摘录官方demo: https://developers.arcgis.com/flex/sample-code/adding-graphics.htm
未经允许请勿转载:程序喵 » 【ArcGIS】使用 MXML 或 ActionScript 添加图形Graphics