public CIMSymbolReference Symbol {get; set;}
Public Property Symbol As CIMSymbolReference
public CIMSymbolReference Symbol {get; set;}
Public Property Symbol As CIMSymbolReference
//Point Feature layer to convert into graphics var lyr = MapView.Active?.Map?.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault(); //Graphics layer to store the graphics to var gl = MapView.Active.Map.GetLayersAsFlattenedList().OfType<ArcGIS.Desktop.Mapping.GraphicsLayer>().FirstOrDefault(); if (lyr == null) return; QueuedTask.Run(() => { //Point symbol for graphics var pointSymbol = SymbolFactory.Instance.ConstructPointSymbol(CIMColor.CreateRGBColor(100, 255, 40), 10, SimpleMarkerStyle.Circle); //Collection to hold the point graphics var listGraphicElements = new List<CIMGraphic>(); //Iterate through each point feature in the feature layer using (RowCursor rows = lyr.Search()) //execute { int i = 0; while (rows.MoveNext()) { using (var feature = rows.Current as Feature) { //Create a point graphic for the feature var crimePt = feature.GetShape() as MapPoint; if (crimePt != null) { var cimGraphicElement = new CIMPointGraphic { Location = crimePt, //MapPoint Symbol = pointSymbol.MakeSymbolReference() }; //Add the point feature to the collection listGraphicElements.Add(cimGraphicElement); i++; } } } } //Magic happens...Add all the features to the Graphics layer gl.AddElements(listGraphicElements); });
//on the QueuedTask //Place symbol on the layout //At 2.x - MapPoint location = MapPointBuilder.CreateMapPoint( // new Coordinate2D(9, 1)); MapPoint location = MapPointBuilderEx.CreateMapPoint(new Coordinate2D(9, 1)); //specify a symbol var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol( ColorFactory.Instance.GreenRGB); //create a CIMGraphic var graphic = new CIMPointGraphic() { Symbol = pt_symbol.MakeSymbolReference(), Location = location //center of map }; //Or use GraphicFactory var graphic2 = GraphicFactory.Instance.CreateSimpleGraphic(location, pt_symbol); //At 2.x - LayoutElementFactory.Instance.CreateGraphicElement(layout, graphic); ElementFactory.Instance.CreateGraphicElement(container, graphic); ElementFactory.Instance.CreateGraphicElement(container, graphic2);
//Must be on QueuedTask.Run(() => { ... //List of Point graphics var listGraphics = new List<CIMPointGraphic>(); var listGraphics2 = new List<CIMPointGraphic>(); //Symbol var pointSymbol = SymbolFactory.Instance.ConstructPointSymbol( ColorFactory.Instance.BlackRGB); //Define size of the array int dx = 5; int dy = 5; MapPoint point = null; //Create the List of graphics for the array for (int row = 0; row <= dx; ++row) { for (int col = 0; col <= dy; ++col) { //At 2.x - point = MapPointBuilder.CreateMapPoint(col, row); point = MapPointBuilderEx.CreateMapPoint(col, row); //create a CIMGraphic var graphic = new CIMPointGraphic() { Symbol = pointSymbol.MakeSymbolReference(), Location = point }; listGraphics.Add(graphic); //Or use GraphicFactory var graphic2 = GraphicFactory.Instance.CreateSimpleGraphic( point, pointSymbol) as CIMPointGraphic; listGraphics2.Add(graphic2); } } //Draw the array of graphics //At 2.x - var bulkgraphics = // LayoutElementFactory.Instance.CreateGraphicElements( // layout, listGraphics, null); var bulkgraphics = ElementFactory.Instance.CreateGraphicElements( container, listGraphics); var bulkgraphics2 = ElementFactory.Instance.CreateGraphicElements( container, listGraphics2);
//Must be on QueuedTask.Run(() => { ... //Place symbol on the layout //At 2.x - MapPoint point = MapPointBuilder.CreateMapPoint(new Coordinate2D(9, 1)); MapPoint point = MapPointBuilderEx.CreateMapPoint(new Coordinate2D(9, 1)); //specify a symbol var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol( ColorFactory.Instance.GreenRGB); //create a CIMGraphic var graphic = new CIMGraphicElement() { Graphic = new CIMPointGraphic() { Symbol = pt_symbol.MakeSymbolReference(), Location = point //A point in the layout } }; //At 2.x - LayoutElementFactory.Instance.CreateElement(layout, graphic); ElementFactory.Instance.CreateElement(container, graphic);
Target Platforms: Windows 11, Windows 10