protected override async void OnClick() { MapView mapvView = MapView.Active; if (mapvView == null) { return; } // get the layers FeatureLayer precinctLayer = mapvView.Map.GetLayersAsFlattenedList(). OfType <FeatureLayer>().FirstOrDefault(l => l.Name == "Portland Precincts"); FeatureLayer fireLayer = mapvView.Map.GetLayersAsFlattenedList(). OfType <FeatureLayer>().FirstOrDefault(l => l.Name == "Fire Stations"); FeatureLayer policeLayer = mapvView.Map.GetLayersAsFlattenedList(). OfType <FeatureLayer>().FirstOrDefault(l => l.Name == "Police Stations"); if ((precinctLayer == null) || (fireLayer == null) || (policeLayer == null)) { return; } await QueuedTask.Run(() => { // group templates are stored on the primary layer var layerDef = precinctLayer.GetDefinition() as CIMFeatureLayer; // create group template from primary layer var myGroupTemplateDef = precinctLayer.CreateGroupTemplateDefinition("My Group Template", "North Precinct", "some desc", new[] { "Group", "Polygon" }); // set the default construction tool myGroupTemplateDef.SetDefaultToolID("esri_editing_SketchPolygonTool"); // remove construction tools from being available with this template List <string> filter = new List <string>(); // guid = esri_editing_SketchFreehandPolygonTool filter.Add("0A7C16B9-1CFD-467f-8ECE-6BA376192431"); // esri_editing_SketchAutoCompleteFreehandPolygonTool filter.Add("ACD53634-CBC7-44d5-BDE9-692FA8D45850"); // esri_editing_SketchTracePolygonTool filter.Add("E22F7D98-007D-427C-8282-13704F7C84C3"); myGroupTemplateDef.ExcludedToolGUIDs = filter.ToArray(); // add component parts myGroupTemplateDef = myGroupTemplateDef.AddComponentTemplate(fireLayer, "Fire Stations", GroupTemplateBuilderMethods.builderPointAtPolygonCentroid); myGroupTemplateDef = myGroupTemplateDef.AddComponentTemplate(policeLayer, "Police Stations", GroupTemplateBuilderMethods.builderPointAtPolygonStart); // add group template to layer var template = precinctLayer.CreateTemplate(myGroupTemplateDef); }); }
protected override async void OnClick() { MapView mapvView = MapView.Active; if (mapvView == null) { return; } // get the Fire Stations layer FeatureLayer layer = mapvView.Map.GetLayersAsFlattenedList(). OfType <FeatureLayer>().FirstOrDefault(l => l.Name == "Fire Stations"); if (layer == null) { return; } await QueuedTask.Run(() => { // load the schema var insp = new Inspector(); insp.LoadSchema(layer); // set some default attributes insp["City"] = "Portland"; // set up tags var tags = new[] { "Point", "tag2" }; // default construction tool - use daml-id string defaultTool = "esri_editing_SketchPointTool"; // filter - use daml-id List <string> filter = new List <string>(); filter.Add("esri_editing_ConstructPointsAlongLineCommand"); // create a new CIM template - new extension method var newTemplate = layer.CreateTemplate("My extension template", "sample description", insp, defaultTool, tags, filter.ToArray()); }); }