//Gebaseerd op adres, stad en postcode returned deze methode een SimpleWaypoint van die plek in longtitude en latitude public async Task <SimpleWaypoint> AdressToCoor(string street, int houseNumber, string city, string postalCode) { GeocodeRequest geocode = new GeocodeRequest(); SimpleAddress address = new SimpleAddress(); address.AddressLine = street + houseNumber; address.Locality = city; address.PostalCode = postalCode; geocode.Address = address; geocode.BingMapsKey = bingMapKey; var response = await geocode.Execute(); if (response != null && response.ResourceSets != null && response.ResourceSets.Length > 0 && response.ResourceSets[0].Resources != null && response.ResourceSets[0].Resources.Length > 0) { Location result = response.ResourceSets[0].Resources[0] as BingMapsRESTToolkit.Location; SimpleWaypoint waypoint = new SimpleWaypoint(result.GeocodePoints[1].Coordinates[0], result.GeocodePoints[1].Coordinates[1]); return(waypoint); } return(null); }
private static Dto.AddressType MapAddress(SimpleAddress address) { return(new Dto.AddressType { Item = new Dto.SimpleAddressType { additionalAddressDetail = address.AddtionalAddressDetail.Value, city = address.City.Value, countryCode = address.Country.Alpha2Code, postalCode = address.PostalCode.Value, region = address.Region?.Value } }); }
internal static async Task <Location> GetCurrentCoordinates(string currentAddressLine, string currentPostalCode) { var currentLocationCoordinates = new Location { Type = "Point" }; var currentAddress = new SimpleAddress { AddressLine = currentAddressLine, PostalCode = currentPostalCode }; var geocodeRequest = new GeocodeRequest() { Address = currentAddress, IncludeIso2 = true, IncludeNeighborhood = true, MaxResults = 25, BingMapsKey = BingMapsKey }; var response = await geocodeRequest.Execute(); if (response != null && response.ResourceSets != null && response.ResourceSets.Length > 0 && response.ResourceSets[0].Resources != null && response.ResourceSets[0].Resources.Length > 0) { var result = response.ResourceSets[0].Resources[0] as BingMapsRESTToolkit.Location; var coords = result.Point.Coordinates; if (coords != null && coords.Length == 2) { var lat = coords[0]; var lng = coords[1]; Console.WriteLine($"Geocode Results - Lat: {lat} / Long: {lng}"); currentLocationCoordinates.Coordinates.Add(lat); currentLocationCoordinates.Coordinates.Add(lng); } } return(currentLocationCoordinates); }
/// <summary> /// Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering. /// </summary> protected override void CreateChildControls() { // Ensure there is an address if (this.Address == null) { return; } // Ensure we use the "adr" class for the "adr" microformat this.CssClass = (this.CssClass += " adr").TrimStart(); // Create a copy of the address so we can correct the case without affecting the external properties BS7666Address addrCopy = new BS7666Address(String.IsNullOrEmpty(this.Address.Paon) ? String.Empty : this.Address.Paon.Trim(), String.IsNullOrEmpty(this.Address.Saon) ? String.Empty : this.Address.Saon.Trim(), String.IsNullOrEmpty(this.Address.StreetName) ? String.Empty : this.Address.StreetName.Trim(), String.IsNullOrEmpty(this.Address.Locality) ? String.Empty : this.Address.Locality.Trim(), String.IsNullOrEmpty(this.Address.Town) ? String.Empty : this.Address.Town.Trim(), String.IsNullOrEmpty(this.Address.AdministrativeArea) ? String.Empty : this.Address.AdministrativeArea.Trim(), String.IsNullOrEmpty(this.Address.Postcode) ? String.Empty : this.Address.Postcode.Trim()); if (addrCopy.StreetName != null && addrCopy.StreetName.ToUpper(CultureInfo.CurrentCulture) == addrCopy.StreetName) { addrCopy.StreetName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(addrCopy.StreetName.ToLower(CultureInfo.CurrentCulture)); } if (addrCopy.Locality != null && addrCopy.Locality.ToUpper(CultureInfo.CurrentCulture) == addrCopy.Locality) { addrCopy.Locality = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(addrCopy.Locality.ToLower(CultureInfo.CurrentCulture)); } if (addrCopy.Town != null && addrCopy.Town.ToUpper(CultureInfo.CurrentCulture) == addrCopy.Town) { addrCopy.Town = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(addrCopy.Town.ToLower(CultureInfo.CurrentCulture)); } if (addrCopy.AdministrativeArea != null && addrCopy.AdministrativeArea.ToUpper(CultureInfo.CurrentCulture) == addrCopy.AdministrativeArea) { addrCopy.AdministrativeArea = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(addrCopy.AdministrativeArea.ToLower(CultureInfo.CurrentCulture)); } // Add space to postcode if missing if (addrCopy.Postcode != null && addrCopy.Postcode.IndexOf(" ", StringComparison.Ordinal) == -1) { if (addrCopy.Postcode.Length == 6) { addrCopy.Postcode = addrCopy.Postcode.Substring(0, 3) + " " + addrCopy.Postcode.Substring(3, 3); } else if (addrCopy.Postcode.Length == 7) { addrCopy.Postcode = addrCopy.Postcode.Substring(0, 4) + " " + addrCopy.Postcode.Substring(4, 3); } } // Create a presentational address based on PAF rules for a Simple Address // 1st line of simple address contains the SAON, if there is one bool hasSaon = (addrCopy.Saon != null && addrCopy.Saon.Trim().Length > 0); if (hasSaon) { using (HtmlGenericControl saon = new HtmlGenericControl("span")) { saon.Attributes["class"] = "extended-address"; // adr saon.InnerHtml = HighlightFormat1Name(addrCopy.Saon); this.Controls.Add(saon); this.Controls.Add(new LiteralControl(Separator)); } } if (!hasSaon && !SimpleAddress.IsFormat1Name(addrCopy.Paon)) { // If PAON is more than just a number and line one still spare, we have enough lines // to put PAON and street address on their own separate lines (1st line and 2nd line) if (addrCopy.Paon.Trim().Length > 0) { using (HtmlGenericControl paon = new HtmlGenericControl("span")) { paon.Attributes["class"] = "street-address"; // adr paon.InnerHtml = HighlightFormat1Name(addrCopy.Paon); this.Controls.Add(paon); this.Controls.Add(new LiteralControl(Separator)); } } if (addrCopy.StreetName.Trim().Length > 0) { using (HtmlGenericControl street = new HtmlGenericControl("span")) { street.Attributes["class"] = "street-address"; // adr street.InnerHtml = HighlightFormat1Name(addrCopy.StreetName); this.Controls.Add(street); this.Controls.Add(new LiteralControl(Separator)); } } } else { // If line 1 used by SAON, or PAON is just a number, cram PAON and StreetName onto one line using (HtmlGenericControl street = new HtmlGenericControl("span")) { street.Attributes["class"] = "street-address"; // adr bool hasPaon = (addrCopy.Paon != null && addrCopy.Paon.Length > 0); if (hasPaon && addrCopy.StreetName != null && addrCopy.StreetName.Length > 0) { if (Regex.IsMatch(this.Address.Paon, "^[0-9]{1,2}[-/]?[0-9]{0,2}[A-Z]?$", RegexOptions.IgnoreCase)) { street.InnerHtml = String.Format(CultureInfo.CurrentCulture, "{0} {1}", HighlightFormat1Name(addrCopy.Paon), HighlightFormat1Name(addrCopy.StreetName)); } else { street.InnerHtml = String.Format(CultureInfo.CurrentCulture, "{0}, {1}", HighlightFormat1Name(addrCopy.Paon), HighlightFormat1Name(addrCopy.StreetName)); } } if (hasPaon && (addrCopy.StreetName == null || addrCopy.StreetName.Length == 0)) { street.InnerHtml = HighlightFormat1Name(addrCopy.Paon); } else if ((addrCopy.Paon == null || addrCopy.Paon.Length == 0) && (addrCopy.StreetName != null && addrCopy.StreetName.Length > 0)) { street.InnerHtml = HighlightFormat1Name(addrCopy.StreetName); } if (street.InnerText.Length > 0) { this.Controls.Add(street); this.Controls.Add(new LiteralControl(Separator)); } } } // 3rd line of simple address contains the locality if (addrCopy.Locality != null && addrCopy.Locality.Trim().Length > 0) { using (HtmlGenericControl locality = new HtmlGenericControl("span")) { locality.Attributes["class"] = "street-address"; // adr locality.InnerText = addrCopy.Locality; this.Controls.Add(locality); this.Controls.Add(new LiteralControl(Separator)); } } // 4th line of simple address contains the town if (addrCopy.Town != null && addrCopy.Town.Trim().Length > 0) { using (HtmlGenericControl town = new HtmlGenericControl("span")) { town.Attributes["class"] = "locality"; // adr town.InnerText = addrCopy.Town; this.Controls.Add(town); this.Controls.Add(new LiteralControl(Separator)); } } // 5th line of simple address contains administrative area and postcode bool hasAdministrativeArea = (addrCopy.AdministrativeArea != null && addrCopy.AdministrativeArea.Trim().Length > 0); bool hasPostcode = (addrCopy.Postcode != null && addrCopy.Postcode.Trim().Length > 0); if (hasAdministrativeArea) { using (HtmlGenericControl administrativeArea = new HtmlGenericControl("span")) { administrativeArea.Attributes["class"] = "region"; // adr administrativeArea.InnerText = addrCopy.AdministrativeArea; this.Controls.Add(administrativeArea); } } if (hasAdministrativeArea && hasPostcode) { this.Controls.Add(new LiteralControl(" ")); } if (hasPostcode) { using (HtmlGenericControl postcode = new HtmlGenericControl("span")) { postcode.Attributes["class"] = "postal-code"; // adr postcode.InnerText = addrCopy.Postcode; this.Controls.Add(postcode); } } // Ensure we don't end with a separator if (this.Controls.Count > 1) { while (this.Controls[this.Controls.Count - 1].GetType() == typeof(LiteralControl)) { this.Controls.Remove(this.Controls[this.Controls.Count - 1]); } } // Ensure the control isn't visible if it has no content if (this.Controls.Count == 0) { this.Visible = false; } }
public CustomerInfo(TaxPayerId taxpayerId, Name name, SimpleAddress address) : base(taxpayerId, name, address) { }