/// <summary> /// Builds a location from an <see cref="IAddress"/> and <see cref="IGeocodeProviderResponse"/>. /// </summary> /// <param name="address"> /// The address. /// </param> /// <param name="response"> /// The response. /// </param> /// <returns> /// The <see cref="ILocation"/>. /// </returns> public ILocation BuildLocation(IAddress address, IGeocodeProviderResponse response) { //TODO: HLF Fix this //var definitionFactory = new LocationTypeDefinitionFactory(); //var def = definitionFactory.GetEmptyDefaultLocationTypeDefinition(); //def.Fields.Address1().Value = address.Address1; //def.Fields.Address2().Value = address.Address2; //def.Fields.Locality().Value = address.Locality; //def.Fields.Region().Value = address.Region; //def.Fields.PostalCode().Value = address.PostalCode; //def.Fields.CountryCode().Value = address.CountryCode; var location = new Location()//def.Fields { //LocationTypeId = def.Id, GeocodeStatus = response.Status }; if (response.Status != GeocodeStatus.Ok) return location; if (!response.Results.Any()) return location; var result = response.Results.First(); location.Coordinate = new Coordinate() { Latitude = result.Latitude, Longitude = result.Longitude }; location.Viewport = result.Viewport; return location; }
/// <summary> /// Builds a location from an <see cref="IAddress"/> and <see cref="IGeocodeProviderResponse"/>. /// </summary> /// <param name="address"> /// The address. /// </param> /// <param name="response"> /// The response. /// </param> /// <returns> /// The <see cref="ILocation"/>. /// </returns> public ILocation BuildLocation(IAddress address, IGeocodeProviderResponse response) { //TODO: HLF Fix this //var definitionFactory = new LocationTypeDefinitionFactory(); //var def = definitionFactory.GetEmptyDefaultLocationTypeDefinition(); //def.Fields.Address1().Value = address.Address1; //def.Fields.Address2().Value = address.Address2; //def.Fields.Locality().Value = address.Locality; //def.Fields.Region().Value = address.Region; //def.Fields.PostalCode().Value = address.PostalCode; //def.Fields.CountryCode().Value = address.CountryCode; var location = new Location()//def.Fields { //LocationTypeId = def.Id, GeocodeStatus = response.Status }; if (response.Status != GeocodeStatus.Ok) { return(location); } if (!response.Results.Any()) { return(location); } var result = response.Results.First(); location.Coordinate = new Coordinate() { Latitude = result.Latitude, Longitude = result.Longitude }; location.Viewport = result.Viewport; return(location); }