private void ConvertPolygonToGraphic(csCommon.Types.Geometries.Polygon p, PoiGraphic g) { var polygon = new Polygon(); foreach (var ls in p.LineStrings) { var pc = new PointCollection(); foreach (var point in ls.Line) { pc.Add(mercator.FromGeographic(new MapPoint(point.X, point.Y)) as MapPoint); } if (pc.First().X != pc.Last().X || pc.First().Y != pc.Last().Y) pc.Add(pc.First()); polygon.Rings.Add(pc); } g.SetGeometry(polygon); }
private void ConvertGeometryToPolygon(PoI p, PoiGraphic g) { var polygon = new Polygon(); if (p.Geometry is csCommon.Types.Geometries.Polygon) { var geom = p.Geometry as csCommon.Types.Geometries.Polygon; foreach (var ls in geom.LineStrings) { var pc = new PointCollection(); foreach (var ps in ls.Line) { pc.Add(mercator.FromGeographic(new MapPoint(ps.X, ps.Y)) as MapPoint); } if (pc.First().X != pc.Last().X || pc.First().Y != pc.Last().Y) pc.Add(pc.First()); polygon.Rings.Add(pc); } g.SetGeometry(polygon); } else return; }