示例#1
0
        /// <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;
        }
示例#2
0
        /// <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);
        }