/// <summary> /// Create barrier geometry. /// </summary> /// <param name="barrier">Barrier.</param> /// <returns>Barrier geometry.</returns> private ESRI.ArcGIS.Client.Geometry.Geometry _CreateGeometry(Barrier barrier) { ESRI.ArcGIS.Client.Geometry.Geometry geometry = null; if (barrier.Geometry != null) { int?spatialReference = null; if (ParentLayer != null) { spatialReference = ParentLayer.SpatialReferenceID; } if (barrier.Geometry is ESRI.ArcLogistics.Geometry.Point) { ESRI.ArcLogistics.Geometry.Point point = (ESRI.ArcLogistics.Geometry.Point)barrier.Geometry; // Project point from WGS84 to Web Mercator if spatial reference of map is Web Mercator if (ParentLayer != null && ParentLayer.SpatialReferenceID != null) { point = WebMercatorUtil.ProjectPointToWebMercator(point, spatialReference.Value); } geometry = new ESRI.ArcGIS.Client.Geometry.MapPoint(point.X, point.Y); } else if (barrier.Geometry is ESRI.ArcLogistics.Geometry.Polygon) { geometry = MapHelpers.ConvertToArcGISPolygon( barrier.Geometry as ESRI.ArcLogistics.Geometry.Polygon, spatialReference); } else if (barrier.Geometry is ESRI.ArcLogistics.Geometry.Polyline) { geometry = MapHelpers.ConvertToArcGISPolyline( barrier.Geometry as ESRI.ArcLogistics.Geometry.Polyline, spatialReference); } else { System.Diagnostics.Debug.Assert(false); } _SetSymbol(); } else { geometry = null; } return(geometry); }