// Create webmap layer out of a feature set from a query task private async Task <WebMapLayer> CreateFeatureCollectionLayer() { try { //Perform Query to get a featureSet and add to webmap as featurecollection QueryTask qt = new QueryTask( new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer/0")); Esri.ArcGISRuntime.Tasks.Query.Query query = new Esri.ArcGISRuntime.Tasks.Query.Query("magnitude > 3.5"); query.OutFields.Add("*"); query.ReturnGeometry = true; var queryResult = await qt.ExecuteAsync(query); Dictionary <string, object> layerdef = new Dictionary <string, object>(); Dictionary <string, object> defdictionary = new Dictionary <string, object>() { { "id", 0 }, { "name", "Earthquakes from last 7 days" } }; Dictionary <string, object> renderer = new Dictionary <string, object>(); renderer.Add("type", "simple"); renderer.Add("style", "esriSMSCircle"); int[] color = new int[] { 255, 0, 0, 255 }; renderer.Add("color", color); renderer.Add("size", 4); defdictionary.Add("drawingInfo", renderer); layerdef.Add("layerDefinition", defdictionary); //Create FeatureCollection as webmap layer FeatureCollection featureCollection = null; if (queryResult.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.FeatureSet = queryResult.FeatureSet; sublayer.AddCustomProperty("layerDefinition", layerdef); featureCollection = new FeatureCollection { SubLayers = new List <WebMapSubLayer> { sublayer } }; } return(new WebMapLayer { FeatureCollection = featureCollection }); } catch (Exception ex) { MessageBox.Show(ex.Message, "Sample Error"); return(null); } }
// Create webmap layer out of a feature set from a query task private async Task <WebMapLayer> CreateFeatureCollectionLayer() { try { //Perform Query to get a featureSet and add to webmap as featurecollection QueryTask qt = new QueryTask( new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer/0")); Esri.ArcGISRuntime.Tasks.Query.Query query = new Esri.ArcGISRuntime.Tasks.Query.Query("magnitude > 3.5"); query.OutFields.Add("*"); query.ReturnGeometry = true; var queryResult = await qt.ExecuteAsync(query); var simpleRenderer = new SimpleRenderer { Symbol = new SimpleMarkerSymbol { Style = SimpleMarkerStyle.Circle, Color = Color.FromArgb(255, 0, 0, 255), Size = 8 } }; var drawingInfo = new DrawingInfo { Renderer = simpleRenderer }; var layerDefinition = new LayerDefinition { DrawingInfo = drawingInfo }; //Create FeatureCollection as webmap layer FeatureCollection featureCollection = null; if (queryResult.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.Id = 0; sublayer.FeatureSet = queryResult.FeatureSet; sublayer.LayerDefinition = layerDefinition; featureCollection = new FeatureCollection { SubLayers = new List <WebMapSubLayer> { sublayer } }; } return(new WebMapLayer { FeatureCollection = featureCollection, Title = "Earthquakes from last 7 days" }); } catch (Exception ex) { var _ = new MessageDialog(ex.Message, "Sample Error").ShowAsync(); return(null); } }
void qt_ExecuteCompleted(object sender, QueryEventArgs e) { #region Since featureset does not include layerdefinition, we would have to populate it with appropriate drawinginfo Dictionary<string, object> layerdef = new Dictionary<string, object>(); Dictionary<string, object> defdictionary = new Dictionary<string, object>() { { "id", 0 }, { "name", "Earthquakes from last 7 days" } }; Dictionary<string, object> renderer = new Dictionary<string, object>(); renderer.Add("type", "simple"); renderer.Add("style", "esriSMSCircle"); int[] color = new int[] { 255, 0, 0, 255 }; renderer.Add("color", color); renderer.Add("size", 4); int[] outlinecolor = new int[] { 0, 0, 0, 255 }; defdictionary.Add("drawingInfo", renderer); layerdef.Add("layerDefinition", defdictionary); #endregion //Add a FeatureCollection to operational layers FeatureCollection featureCollection = null; if (e.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.FeatureSet = e.FeatureSet; sublayer.AddCustomProperty("layerDefinition", layerdef); featureCollection = new FeatureCollection { SubLayers = new List<WebMapSubLayer> { sublayer } }; } if (featureCollection != null) operationLayers.Add(new WebMapLayer { FeatureCollection = featureCollection }); //Create a new webmap object and add base map and operational layers webmap = new WebMap() { BaseMap = basemap, OperationalLayers = operationLayers }; Document webmapdoc = new Document(); webmapdoc.GetMapCompleted += (a, b) => { if (b.Error == null) { b.Map.Extent = new ESRI.ArcGIS.Client.Geometry.Envelope(-20000000, 1100000, -3900000, 11000000); LayoutRoot.Children.Add(b.Map); } }; webmapdoc.GetMapAsync(webmap); }
void qt_ExecuteCompleted(object sender, QueryEventArgs e) { #region Since featureset does not include layerdefinition, we would have to populate it with appropriate drawinginfo Dictionary <string, object> layerdef = new Dictionary <string, object>(); Dictionary <string, object> defdictionary = new Dictionary <string, object>() { { "id", 0 }, { "name", "Earthquakes from last 7 days" } }; Dictionary <string, object> renderer = new Dictionary <string, object>(); renderer.Add("type", "simple"); renderer.Add("style", "esriSMSCircle"); int[] color = new int[] { 255, 0, 0, 255 }; renderer.Add("color", color); renderer.Add("size", 4); int[] outlinecolor = new int[] { 0, 0, 0, 255 }; defdictionary.Add("drawingInfo", renderer); layerdef.Add("layerDefinition", defdictionary); #endregion //Add a FeatureCollection to operational layers FeatureCollection featureCollection = null; if (e.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.FeatureSet = e.FeatureSet; sublayer.AddCustomProperty("layerDefinition", layerdef); featureCollection = new FeatureCollection { SubLayers = new List <WebMapSubLayer> { sublayer } }; } if (featureCollection != null) { operationLayers.Add(new WebMapLayer { FeatureCollection = featureCollection }); } //Create a new webmap object and add base map and operational layers webmap = new WebMap() { BaseMap = basemap, OperationalLayers = operationLayers }; Document webmapdoc = new Document(); webmapdoc.GetMapCompleted += (a, b) => { if (b.Error == null) { b.Map.Extent = new ESRI.ArcGIS.Client.Geometry.Envelope(-20000000, 1100000, -3900000, 11000000); LayoutRoot.Children.Add(b.Map); } }; webmapdoc.GetMapAsync(webmap); }
// Create webmap layer out of a feature set from a query task private async Task<WebMapLayer> CreateFeatureCollectionLayer() { try { //Perform Query to get a featureSet and add to webmap as featurecollection QueryTask qt = new QueryTask( new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer/0")); Esri.ArcGISRuntime.Tasks.Query.Query query = new Esri.ArcGISRuntime.Tasks.Query.Query("magnitude > 3.5"); query.OutFields.Add("*"); query.ReturnGeometry = true; var queryResult = await qt.ExecuteAsync(query); var simpleRenderer = new SimpleRenderer { Symbol = new SimpleMarkerSymbol { Style = SimpleMarkerStyle.Circle, Color = Color.FromArgb(255, 0, 0, 255), Size = 8 } }; var drawingInfo = new DrawingInfo { Renderer = simpleRenderer }; var layerDefinition = new LayerDefinition {DrawingInfo = drawingInfo}; //Create FeatureCollection as webmap layer FeatureCollection featureCollection = null; if (queryResult.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.Id = 0; sublayer.FeatureSet = queryResult.FeatureSet; sublayer.LayerDefinition = layerDefinition; featureCollection = new FeatureCollection { SubLayers = new List<WebMapSubLayer> { sublayer } }; } return new WebMapLayer { FeatureCollection = featureCollection, Title = "Earthquakes from last 7 days" }; } catch (Exception ex) { MessageBox.Show(ex.Message, "Sample Error"); return null; } }
// Create webmap layer out of a feature set from a query task private async Task<WebMapLayer> CreateFeatureCollectionLayer() { try { //Perform Query to get a featureSet and add to webmap as featurecollection QueryTask qt = new QueryTask( new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/EarthquakesFromLastSevenDays/MapServer/0")); Esri.ArcGISRuntime.Tasks.Query.Query query = new Esri.ArcGISRuntime.Tasks.Query.Query("magnitude > 3.5"); query.OutFields.Add("*"); query.ReturnGeometry = true; var queryResult = await qt.ExecuteAsync(query); Dictionary<string, object> layerdef = new Dictionary<string, object>(); Dictionary<string, object> defdictionary = new Dictionary<string, object>() { { "id", 0 }, { "name", "Earthquakes from last 7 days" } }; Dictionary<string, object> renderer = new Dictionary<string, object>(); renderer.Add("type", "simple"); renderer.Add("style", "esriSMSCircle"); int[] color = new int[] { 255, 0, 0, 255 }; renderer.Add("color", color); renderer.Add("size", 4); defdictionary.Add("drawingInfo", renderer); layerdef.Add("layerDefinition", defdictionary); //Create FeatureCollection as webmap layer FeatureCollection featureCollection = null; if (queryResult.FeatureSet.Features.Count > 0) { var sublayer = new WebMapSubLayer(); sublayer.FeatureSet = queryResult.FeatureSet; sublayer.AddCustomProperty("layerDefinition", layerdef); featureCollection = new FeatureCollection { SubLayers = new List<WebMapSubLayer> { sublayer } }; } return new WebMapLayer { FeatureCollection = featureCollection }; } catch (Exception ex) { MessageBox.Show(ex.Message, "Sample Error"); return null; } }