public RadialSearchQuery(string fieldName, Geocode center, decimal radius, DistanceUnit unit = Sdk.DistanceUnit.Miles)
 {
     this.Field = fieldName;
     this.Center = center;
     this.DistanceUnit = unit;
     this.Radius = radius;
 }
示例#2
0
        public static bool TryParse(string geocode, out Geocode geo)
        {
            geo = null;

            if (string.IsNullOrWhiteSpace(geocode) == true)
            {
                return(false);
            }
            var tokens = geocode.Split(new[] { ',' });

            if (tokens == null || tokens.Length != 2)
            {
                return(false);
            }
            decimal latitude, longitude;

            if (decimal.TryParse(tokens[0], out latitude) == false)
            {
                return(false);
            }
            else if (decimal.TryParse(tokens[1], out longitude) == false)
            {
                return(false);
            }
            else if (Math.Abs(latitude) > 90.0m || Math.Abs(longitude) > 180.0m)
            {
                return(false);
            }
            else
            {
                geo = new Geocode(latitude, longitude);
                return(true);
            }
        }
 public RadialSearchQuery(string fieldName, Geocode center, decimal radius, DistanceUnit unit = Sdk.DistanceUnit.Miles)
 {
     this.Field        = fieldName;
     this.Center       = center;
     this.DistanceUnit = unit;
     this.Radius       = radius;
 }
示例#4
0
        public static bool TryParse(string geocode, out Geocode geo)
        {
            geo = null;

            if (string.IsNullOrWhiteSpace(geocode) == true)
                return false;
            var tokens = geocode.Split(new[] { ',' });
            if (tokens == null || tokens.Length != 2)
                return false;
            decimal latitude, longitude;
            if (decimal.TryParse(tokens[0], out latitude) == false)
                return false;
            else if (decimal.TryParse(tokens[1], out longitude) == false)
                return false;
            else if (Math.Abs(latitude) > 90.0m || Math.Abs(longitude) > 180.0m)
                return false;
            else
            {
                geo = new Geocode(latitude, longitude);
                return true;
            }
        }
示例#5
0
 public IQuery WithinCircle(Geocode center, decimal radius, DistanceUnit unit = DistanceUnit.Miles)
 {
     return(new RadialSearchQuery(this.Field, center, radius, unit));
 }
 public IQuery WithinCircle(Geocode center, decimal radius, DistanceUnit unit = DistanceUnit.Miles)
 {
     return new RadialSearchQuery(this.Field, center, radius, unit);
 }