/// <summary> /// Add a temporary geometry to the map /// </summary> /// <param name="screenPt"></param> public void AddTempPoint(Mapsui.UI.Forms.Position screenPt) { if (CanAddMapGeometry) { if (TempCoordinates.Count == 0) { MessagingCenter.Send <MapPageVM>(this, "SelectGeometryType"); } if (Map.Layers[Map.Layers.Count - 1] == TempLayer) { Map.Layers.Remove(TempLayer); } var mapPt = new Mapsui.Geometries.Point(Convert.ToDouble(screenPt.Longitude), Convert.ToDouble(screenPt.Latitude)); if (GeometryType == "Punkt") { TempCoordinates = new List <Mapsui.Geometries.Point>() { mapPt }; } else if (GeometryType == "Polygon" && TempCoordinates.Count > 0) { var prevCoords = new List <Mapsui.Geometries.Point>(TempCoordinates); if (TempCoordinates.Count == 1) { //Complete the polygon TempCoordinates.Add(TempCoordinates[0]); } TempCoordinates.Insert(TempCoordinates.Count - 1, mapPt); } else { TempCoordinates.Add(mapPt); } TempLayer = MapModel.CreateTempLayer(TempCoordinates); Map.Layers.Insert(Map.Layers.Count, TempLayer); (SaveGeomCommand as Command).ChangeCanExecute(); } }
public Location(Mapsui.UI.Forms.Position position) { Latitude = position.Latitude; Longitude = position.Longitude; }