protected override async void OnAppearing() { base.OnAppearing(); try { var position = await Utilities.GetCurrentGeolocationAsync(); MyPosition = new Position(position.Latitude, position.Longitude); PinCollection.Add(new CustomPin() { Id = "Ryan", Position = MyPosition, Label = "Ryan", Type = PinType.Generic, Url = "http://www.ryanrauch.com/" }); PolygonCollection.Add(new Position(30.39983, -97.723719)); PolygonCollection.Add(new Position(30.40182, -97.722989)); PolygonCollection.Add(new Position(30.402172, -97.724245)); PolygonCollection.Add(new Position(30.403236, -97.72374)); PolygonCollection.Add(new Position(30.402606, -97.721659)); PolygonCollection.Add(new Position(30.399562, -97.723011)); //UpdateMapGrid(); //UpdateLocation(); //UpdatePolygons(); //MapContent.PropertyChanged += MapContent_PropertyChanged; //this has not worked yet, but used to change grids when zoomed by user //UpdateRestService(); } catch (Exception ex) { await DisplayAlert(ex.Message, ex.StackTrace, "OK"); } }
/*public async void UpdateRestService() * { * try * { * RestService svc = new RestService(); * var regions = await svc.GetRegionsAsync(); * await DisplayAlert(regions.Count.ToString(), "regions count", "OK"); * } * catch (Exception ex) * { * await DisplayAlert(ex.Message, ex.StackTrace, "OK"); * } * }*/ public void UpdatePolygons() { //ObservableCollection<Position> rockrose = new ObservableCollection<Position>(); PolygonCollection.Add(new Position(30.39983, -97.723719)); PolygonCollection.Add(new Position(30.40182, -97.722989)); PolygonCollection.Add(new Position(30.402172, -97.724245)); PolygonCollection.Add(new Position(30.403236, -97.72374)); PolygonCollection.Add(new Position(30.402606, -97.721659)); PolygonCollection.Add(new Position(30.399562, -97.723011)); //6 original coordinates /* * // Intersection removing an interior polygon * PolygonCollection.Add(new Position(30.401807, -97.722484)); * PolygonCollection.Add(new Position(30.402455, -97.722248)); * PolygonCollection.Add(new Position(30.402561, -97.722623)); * PolygonCollection.Add(new Position(30.402302, -97.722784)); */ //TODO: look into xamarin and mvvmlight //also look into collectionchanged event?? //OnPropertyChanged("PolygonCollection"); //PolygonCollection = rockrose; }
private static IMultiPolygon FlattenMultiPolygon(IMultiPolygon mpoly, FgfGeometryFactory factory) { PolygonCollection polys = new PolygonCollection(); for (int i = 0; i < mpoly.Count; i++) { polys.Add(FlattenPolygon(mpoly[i], factory)); } return(factory.CreateMultiPolygon(polys)); }
public void UpdatePolygons() { //ObservableCollection<Position> rockrose = new ObservableCollection<Position>(); PolygonCollection.Add(new Position(30.39983, -97.723719)); PolygonCollection.Add(new Position(30.40182, -97.722989)); PolygonCollection.Add(new Position(30.402172, -97.724245)); PolygonCollection.Add(new Position(30.403236, -97.72374)); PolygonCollection.Add(new Position(30.402606, -97.721659)); PolygonCollection.Add(new Position(30.399562, -97.723011)); //TODO: look into xamarin and mvvmlight //also look into collectionchanged event?? //OnPropertyChanged("PolygonCollection"); //PolygonCollection = rockrose; }
private static IMultiPolygon FlattenMultiPolygon(IMultiPolygon mpoly, FgfGeometryFactory factory) { PolygonCollection polys = new PolygonCollection(); for (int i = 0; i < mpoly.Count; i++) { polys.Add(FlattenPolygon(mpoly[i], factory)); } return factory.CreateMultiPolygon(polys); }