コード例 #1
0
        //----------------------------------------------------------------------
        private static IntSet <PartyId> SearchByPostalCode(
            Timer t,
            AddressParserResult searchLocale,
            int desiredResultCount,
            int maxResultCount,
            double nonGeoMatchAbsDensity,
            out Location centroid,
            out double?maxRadiusMi)
        {
            maxRadiusMi = null;

            if (desiredResultCount == ExactMatchResultCount)
            {
                IntSet <PartyId> partiesInPostalCode = null;
                t.Measure("Search by PostalCode", delegate() {
                    partiesInPostalCode = Snap.Cache.Cache.PostalCode(searchLocale.PostalCode);
                });
                centroid = null;
                return(partiesInPostalCode);
            }
            else
            {
                IGeoCoder geocoder = GeoCoderFactory.CreateGeoCoder();
                centroid = geocoder.GeoCodeZip(searchLocale.PostalCode);
                return(SearchNearLocation(
                           t,
                           desiredResultCount,
                           centroid,
                           nonGeoMatchAbsDensity,
                           out maxRadiusMi));
            }
        }