async Task Handle_Clicked(object sender, System.EventArgs e) { geoCoder = new Geocoder(); var position = await CrossGeolocator.Current.GetPositionAsync(); var currentPosition = new Position(position.Latitude, position.Longitude); if (Application.Current.Properties.ContainsKey("Postcode")) { MapCurrent.IsVisible = true; myMap.IsVisible = false; MapCurrent.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(-37.814, 144.96332), Distance.FromKilometers(10))); } else { MapCurrent.IsVisible = false; myMap.IsVisible = true; myMap.MoveToRegion(MapSpan.FromCenterAndRadius(currentPosition, Distance.FromKilometers(7))); } }
async Task GetPostcode() { geoCoder = new Geocoder(); var position = await CrossGeolocator.Current.GetPositionAsync(); var currentPosition = new Position(position.Latitude, position.Longitude); var Addresses = await geoCoder.GetAddressesForPositionAsync(currentPosition); MapCurrent.IsVisible = true; myMap.IsVisible = false; string fulladdress = ""; foreach (var address in Addresses) { fulladdress += address; } MapCurrent.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(-37.814, 144.96332), Distance.FromKilometers(10))); var post = Application.Current.Properties["Postcode"] as string; List <Library> library = await lib.GetbyPostcodeAsync(int.Parse(post)); // test.Text = "We display the top " + library.Count.ToString() + " most close Library of your postcode"; testLogin.IsEnabled = true; testLogin.IsVisible = true; testNoneLogin.IsEnabled = false; testNoneLogin.IsVisible = false; if (library.Count > 0) { for (int i = 0; i < library.Count; i++) { var pin = new CustomPin { Pin = new Pin { Type = PinType.Place, Position = new Position(Double.Parse(library[i].Lat), Double.Parse(library[i].Lon)), Label = library[i].Name, Address = library[i].Address } }; MapCurrent.CustomPins = new List <CustomPin> { pin }; MapCurrent.Pins.Add(pin.Pin); pin.Pin.Clicked += async(object sender, EventArgs e) => { var p1 = sender as Pin; await SetMap(p1.Address); }; } var myPin = new Pin { Type = PinType.Generic, Position = currentPosition, Label = "Current Location", Address = fulladdress }; MapCurrent.Pins.Add(myPin); } }