public static String getFromAddress(BingLocationResponse address, AddressPart addressPart) { String part = null; if (null != address) { BingLocationResponse.ResourceSet.Resource.Address a = address.resourceSets[0].resources[0].address; String aline = a.addressLine; switch (addressPart) { case AddressPart.COUNTRY: part = a.countryRegion; break; case AddressPart.STATE: part = a.adminDistrict2; break; case AddressPart.POSTALCODE: part = a.postalCode; break; case AddressPart.CITY: //liefert Prenzlauer Berg part = a.locality; break; case AddressPart.DESTRICT: //liefert Prenzlauer Berg part = a.locality; break; case AddressPart.STREET: if (null != aline) { Regex rx1 = new Regex("\b[0-9]* \b"); MatchCollection matches1 = rx1.Matches(aline); String foundVal = null; foreach (Match match in matches1) { String number = match.Value.Trim(); foundVal = aline.Replace(number, ""); foundVal = foundVal.Trim(); break; } if (null == foundVal) { part = aline; } else { part = foundVal; } } break; case AddressPart.HOUSENUMBER: if (null != aline) { Regex rx2 = new Regex("\b[0-9]* \b"); MatchCollection matches2 = rx2.Matches(aline); foreach (Match match in matches2) { part = match.Value.Trim(); break; } } break; } } return part; }
public PositionEventArgs(Double latitude, Double longitude, BingLocationResponse location, GeoLocationPositionStatus status) { this.latitude = latitude; this.longitude = longitude; this.location = location; this.status = status; }