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); }
/// <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); }
public static string Serialize(LatLng latLng) { return string.Format("{0},{1}", latLng.lat.ToString(MapHelper.UsCulture), latLng.lng.ToString(MapHelper.UsCulture)); }
/// <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); }