public bool Contains(LatLng latlng)
        {
            bool containsLat = ContainsLatitude(latlng);
            bool containsLng = ContainsLongitude(latlng);

            return containsLat && containsLng;
        }
        public void Extend(LatLng latlng)
        {
            if (this.IsNull())
            {
                SW = latlng.Clone();
                NE = latlng.Clone();
            }

            ExtendLatitude(latlng);
            ExtendLongitude(latlng);
        }
Example #3
0
 /// <summary>
 /// Get the distance between this point and point b (in meters)
 /// </summary>
 /// <param name="b"></param>
 /// <returns></returns>
 public double DistanceFrom(LatLng b)
 {
     return Distance(this, b);
 }
Example #4
0
 public static string Serialize(LatLng latLng)
 {
     return string.Format("{0},{1}", latLng.lat.ToString(MapHelper.UsCulture), latLng.lng.ToString(MapHelper.UsCulture));
 }
Example #5
0
        /// <summary>
        /// Get the distance between two points (in meters)
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public static double Distance(LatLng a, LatLng b)
        {
            double distance = 0.0;

            double lat1 = a.lng * Math.PI / 180.0;
            double lon1 = a.lat * Math.PI / 180.0;
            double lat2 = b.lng * Math.PI / 180.0;
            double lon2 = b.lat * Math.PI / 180.0;

            distance += 1000 * 6378.7 * Math.Acos
                                        (Math.Sin(lat1) * Math.Sin(lat2) +
                                         Math.Cos(lat1) * Math.Cos(lat2) * Math.Cos(lon2 - lon1));

            return Math.Round(distance);
        }
 private bool ContainsLatitude(LatLng latlng)
 {
     return (latlng.Lat <= NE.Lat) && (latlng.Lat >= SW.Lat);
 }
 public LatLngBounds(LatLng sw, LatLng ne)
 {
     this.SW = new LatLng(sw.Lat, sw.Lng);
     this.NE = new LatLng(ne.Lat, ne.Lng);
 }
        private void ExtendLongitude(LatLng latlng)
        {
            if (this.IsEmpty() || !ContainsLongitude(latlng))
            {
                double swDistance = Math.Abs(latlng.Lng - SW.Lng);
                double neDistance = Math.Abs(latlng.Lng - NE.Lng);

                if (swDistance > neDistance)
                {
                    NE.Lng = latlng.Lng;
                }
                else
                {
                    SW.Lng = latlng.Lng;
                }
            }
        }
 private void ExtendLatitude(LatLng latlng)
 {
     if (this.IsEmpty() || !ContainsLatitude(latlng))
     {
         if (latlng.Lat > NE.Lat)
         {
             NE.Lat = latlng.Lat;
         }
         else
         {
             SW.Lat = latlng.Lat;
         }
     }
 }
 private bool ContainsLongitude(LatLng latlng)
 {
     return (latlng.Lng <= NE.Lng) && (latlng.Lng >= SW.Lng);
 }