async void gpAircraftComms_JobCompleted(object sender, JobInfoEventArgs e) { try { if (_graphicsLayerPoly != null) { _graphicsLayerPoly.Graphics.Clear(); } Geoprocessor gpAircraftComCov = sender as Geoprocessor; client.ArcGISDynamicMapServiceLayer gpLayer = gpAircraftComCov.GetResultMapServiceLayer(e.JobInfo.JobId); gpLayer.ID = "AircraftCommunicationCoverageMap"; gpLayer.Opacity = .65; _mapWidget.Map.Layers.Add(gpLayer); _mapWidget.Map.Layers.Add(_graphicsLayer); //get legend HttpClient client = new HttpClient(); string response = await client.GetStringAsync(_baseURL + "MapServer/legend?f=pjson"); XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(response); XmlNodeList xmlnode = doc.GetElementsByTagName("legend"); List <legend> pLegends = new List <legend>(); _dtLegends.Clear(); foreach (XmlNode node in xmlnode) { legend pLegend = new legend(); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "label") { pLegend.label = child.InnerText; } if (child.Name == "url") { pLegend.url = _baseURL + "MapServer/1/images/" + child.InnerText; } } _dtLegends.Add(pLegend); } if (pWin == null) { pWin = new LegendDialog(); } pWin.ListView.DataContext = _dtLegends; pWin.Closed += pWin_Closed; pWin.Show(); pWin.Topmost = true; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }
} // public string getFieldAlias(string fieldname) /// <summary> /// create Layer according to its Type /// </summary> /// <param name="id"></param> /// <param name="vis"></param> /// <returns></returns> private Layer createLayer(string id, bool vis) { string typ = lyrType; ESRI.ArcGIS.Client.Layer res = null; if (typ == "ArcGISTiledMapServiceLayer") { var lr = new ESRI.ArcGIS.Client.ArcGISTiledMapServiceLayer(); lr.Url = lyrUrl; lr.ProxyURL = proxy; res = lr; } else if (typ == "OpenStreetMapLayer") { var lr = new ESRI.ArcGIS.Client.Toolkit.DataSources.OpenStreetMapLayer(); res = lr; } else if (typ == "ArcGISDynamicMapServiceLayer") { var lr = new ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer(); lr.Url = lyrUrl; lr.ProxyURL = proxy; res = lr; } else if (typ == "FeatureLayer") { var lr = new ESRI.ArcGIS.Client.FeatureLayer(); lr.Url = lyrUrl; lr.ProxyUrl = proxy; res = lr; } else if (typ == "GraphicsLayer") { var gl = setContent(id, lyrUrl); res = gl; } if (res != null) { ESRI.ArcGIS.Client.Extensibility.LayerProperties.SetIsPopupEnabled(res, popupOn); // sublayers popups on/off if (identifyLayerIds.Length <= 3) { ; } else { var xmlszn = new System.Xml.Serialization.XmlSerializer(typeof(System.Collections.ObjectModel.Collection <int>)); var sr = new StringReader(identifyLayerIds); var ids = xmlszn.Deserialize(sr) as System.Collections.ObjectModel.Collection <int>; ESRI.ArcGIS.Mapping.Core.LayerExtensions.SetIdentifyLayerIds(res, ids); } } return(res); } // private Layer createLayer(string id, bool vis)
public void addArcGisDynamicService(string url, string layerID, double opacity, string ProxyUrl) { try { if (layerID == "") { layerID = Guid.NewGuid().ToString(); } ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer lyr = new ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer(); lyr.Url = url; lyr.ID = layerID; lyr.Opacity = opacity; lyr.Visible = true; lyr.ProxyURL = ProxyUrl; _map.Layers.Add(lyr); //_map.Layers.Insert(0, lyr); } catch (Exception ex) { DebugConsole.debug("MapHelper: " + ex.ToString()); } }
} // public void initRelations() private Layer createLayer(string id, bool vis) { // create Layer according to its Type string typ = lyrType; ESRI.ArcGIS.Client.Layer res = new ESRI.ArcGIS.Client.GraphicsLayer(); if (typ == "ArcGISTiledMapServiceLayer") { var lr = new ESRI.ArcGIS.Client.ArcGISTiledMapServiceLayer(); lr.Url = lyrUrl; lr.ProxyURL = proxy; res = lr; } else if (typ == "OpenStreetMapLayer") { var lr = new ESRI.ArcGIS.Client.Toolkit.DataSources.OpenStreetMapLayer(); res = lr; } else if (typ == "ArcGISDynamicMapServiceLayer") { var lr = new ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer(); lr.Url = lyrUrl; lr.ProxyURL = proxy; lr.ImageFormat = imageFormat; res = lr; } else if (typ == "FeatureLayer") { var lr = new ESRI.ArcGIS.Client.FeatureLayer() { Url = lyrUrl, ProxyUrl = proxy }; lr.OutFields.Add("*"); lr.Mode = FeatureLayer.QueryMode.OnDemand; lr.Initialize(); // retrieve attribs from server var rr = rendererFromJson(renderer); if (rr != null) { lr.Renderer = rr; } res = lr; } else if (typ == "GraphicsLayer") { var gl = setContent(id, lyrUrl); var rr = rendererFromJson(renderer); if (rr != null) { gl.Renderer = rr; } res = gl; } if (res != null) { ESRI.ArcGIS.Client.Extensibility.LayerProperties.SetIsPopupEnabled(res, popupOn); // sublayers popups on/off if (identifyLayerIds.Length <= 3) { ; } else { var xmlszn = new System.Xml.Serialization.XmlSerializer(typeof(System.Collections.ObjectModel.Collection <int>)); var sr = new StringReader(identifyLayerIds); var ids = xmlszn.Deserialize(sr) as System.Collections.ObjectModel.Collection <int>; ESRI.ArcGIS.Mapping.Core.LayerExtensions.SetIdentifyLayerIds(res, ids); } } return(res); } // private Layer createLayer(string id, bool vis)
async void gpFarthest_JobCompleted(object sender, JobInfoEventArgs e) { try { Geoprocessor gpFOC = sender as Geoprocessor; client.ArcGISDynamicMapServiceLayer gpLayer = gpFOC.GetResultMapServiceLayer(e.JobInfo.JobId); gpLayer.ID = "Farthest On Circle"; gpLayer.Opacity = .65; _mapWidget.Map.Layers.Add(gpLayer); //get legend HttpClient client = new HttpClient(); string response = await client.GetStringAsync(_baseURL + "MapServer/legend?f=pjson"); XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(response); XmlNodeList xmlnode = doc.GetElementsByTagName("legend"); List <legend> pLegends = new List <legend>(); int count = 0; double test = System.Convert.ToInt16(Range.Text) / System.Convert.ToInt16(Speed.Text); int theval = System.Convert.ToInt16(test); _dtLegends.Clear(); foreach (XmlNode node in xmlnode) { legend pLegend = new legend(); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "label") { pLegend.label = child.InnerText + " Hours of Transit"; } if (child.Name == "url") { pLegend.url = _baseURL + "MapServer/1/images/" + child.InnerText; } } if (count <= theval && count < 24) { _dtLegends.Add(pLegend); } count++; } if (pWin == null) { pWin = new LegendDialog(); } pWin.ListView.DataContext = _dtLegends; pWin.Closed += pWin_Closed; pWin.Show(); pWin.Topmost = true; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }