/// <summary> /// Initializes a new instance of the <see cref="GooglePoint"/> struct. /// </summary> /// <param name="source">The source.</param> public GoogleLocation(GoogleLocation source) { _latitude = source.Latitude; _longitude = source.Longitude; _tracking = source._tracking; }
/// <summary> /// Changes the center point of the map to the given point. /// If the point is already visible in the current map view, change the center in a smooth animation. /// </summary> /// <param name="center">The center.</param> public void PanTo(GoogleLocation center) { this.Actions.Add( string.Format("{0}.panTo(new GLatLng({1}, {2}));", this.ClientMapID, JsUtil.Encode(this.Latitude), JsUtil.Encode(this.Longitude) ) ); }
/// <summary> /// Opens a simple info window at the given point. /// Pans the map such that the opened info window is fully visible. /// The content of the info window is given as HTML text. /// </summary> /// <param name="point">The point.</param> /// <param name="text">The text.</param> /// <param name="options">The options.</param> public void OpenInfoWindowHtml(GoogleLocation point, string text, string options) { this.Actions.Add( string.Format("{0}.openInfoWindowHtml(new GLatLng({1}, {2}), {3} {4});", this.ClientMapID, JsUtil.Encode(this.Latitude), JsUtil.Encode(this.Longitude), JsUtil.Encode(text), string.IsNullOrEmpty(options) ? string.Empty : "," + JsUtil.Encode(options) ) ); }
/// <summary> /// Builds the points. /// </summary> void BuildPoints() { bool canBuild = (Latitude !=0 && Longitude != 0 && Radius != 0); if (canBuild) { this.Points.Clear(); double d2r = Math.PI / 180.0D; // degree to radian double r2d = 180.0D / Math.PI; double lat = ((double)Radius / 3963.0D) * r2d; double lng = lat / Math.Cos(Latitude * d2r); double theta, x, y; GoogleLocation firstPoint = null; for (int i = 0; i < 33; i++) { theta = (double)Math.PI * ((double)i / 16.0D); x = Latitude + (lat * Math.Sin(theta)); y = Longitude + (lng * Math.Cos(theta)); if (firstPoint != null) { this.Points.Add(new GoogleLocation(x, y)); } else { this.Points.Add(firstPoint = new GoogleLocation(x, y)); } } this.Points.Add(firstPoint); } }
/// <summary> /// Initializes a new instance of the <see cref="GoogleLocationEventArgs"/> class. /// </summary> /// <param name="location">The location.</param> public GoogleLocationEventArgs(GoogleLocation location) { this.Location = location; }
public void CalculateConsolidationSolution() { CLSCOBO_ConsolidationEngine ao_ConsolidationEngine; CLSCOBO_OriginPoint vo_OriginPoint=null; GooglePolyline vo_PolyLine=null; GoogleLocation vo_GoogleLocation; Color vo_Color=Color.Black; int pi_Quadrant=0; int x = 0; if(ao_GoogleMap==null) ao_GoogleMap=(GoogleMap)CLSCOBO_FunctionsRepository.getElement("GoogleMap1", ao_WebPage); if (ao_ConsolidationProblem != null){ ao_ConsolidationEngine = new CLSCOBO_ConsolidationEngine(ao_ConsolidationProblem); foreach(CLSCOBO_ConsolidationSolution vo_ConsolidationSolutionPointer in ao_ConsolidationEngine.ConsolidationSolutions) { //CLSCOBO_ConsolidationSolution vo_ConsolidationSolutionPointer=ao_ConsolidationEngine.ConsolidationSolutions[ao_ConsolidationEngine.ConsolidationSolutions.Count-1]; ao_GoogleMap.Polylines.Clear(); pi_Quadrant=0; foreach(CLSCOBO_TruckItinerary vo_TruckItineraryPointer in vo_ConsolidationSolutionPointer.TruckItineraries) { vo_PolyLine=new GooglePolyline(); vo_PolyLine.Color=(pi_Quadrant==1)?Color.Blue:(pi_Quadrant==2)?Color.Red:(pi_Quadrant==3)?Color.Green:Color.Gold; vo_OriginPoint=ao_ConsolidationEngine.ConsolidationSolutions[x].TruckItineraries[0].OriginPoint; vo_GoogleLocation=new GoogleLocation(vo_OriginPoint.Latitude, vo_OriginPoint.Longitude); vo_PolyLine.Points.Add(vo_GoogleLocation); foreach(CLSCOBO_DeliveryPoint vo_DeliveryPointPointer in vo_TruckItineraryPointer.Deliveries) { vo_GoogleLocation=new GoogleLocation(vo_DeliveryPointPointer.Latitude, vo_DeliveryPointPointer.Longitude); if((vo_GoogleLocation.Latitude!=0) && (vo_GoogleLocation.Longitude!=0)) { vo_PolyLine.Points.Add(vo_GoogleLocation); } } pi_Quadrant++; ao_GoogleMap.Polylines.Add(vo_PolyLine); System.Threading.Thread.Sleep(50); } } } }