private void ShowMap(LogbookEntry le) { double distance = 0.0; bool fHasPath = le.Telemetry != null && le.Telemetry.HasPath; ListsFromRoutesResults result = null; if (le.Route.Length > 0 || fHasPath) // show a map. { result = AirportList.ListsFromRoutes(le.Route); MfbGoogleMap1.Map.Airports = result.Result; MfbGoogleMap1.Map.ShowRoute = ckShowRoute.Checked; MfbGoogleMap1.Map.AutofillOnPanZoom = (result.Result.Count() == 0); MfbGoogleMap1.Map.AllowDupeMarkers = false; lnkZoomOut.NavigateUrl = MfbGoogleMap1.ZoomToFitScript; lnkZoomOut.Visible = !result.MasterList.LatLongBox().IsEmpty; // display flight path, if available. if (ckShowPath.Checked && le.Telemetry.HasPath) { MfbGoogleMap1.Map.Path = le.Telemetry.Path(); distance = le.Telemetry.Distance(); lnkViewKML.Visible = true; } string szURL = Request.Url.PathAndQuery; lnkShowMapOnly.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "{0}{1}{2}", szURL, szURL.Contains("?") ? "&" : "?", "show=map"); } MfbGoogleMap1.Map.Images = ckShowImages.Checked ? mfbIlFlight.Images.ImageArray.ToArray() : new MFBImageInfo[0]; bool fForceDynamicMap = util.GetIntParam(Request, "dm", 0) != 0; bool fHasGeotaggedImages = false; if (le.FlightImages != null) { Array.ForEach <MFBImageInfo>(le.FlightImages, (mfbii) => { fHasGeotaggedImages = fHasGeotaggedImages || mfbii.Location != null; }); } // By default, show only a static map (cut down on dynamic map hits) if (fForceDynamicMap || fHasGeotaggedImages || fHasPath) { MfbGoogleMap1.Mode = MyFlightbook.Mapping.GMap_Mode.Dynamic; } else { MfbGoogleMap1.Mode = MyFlightbook.Mapping.GMap_Mode.Static; popmenu.Visible = false; lnkZoomOut.Visible = mfbAirportServices1.Visible = false; } if (result != null) { mfbAirportServices1.GoogleMapID = MfbGoogleMap1.MapID; mfbAirportServices1.AddZoomLink = (MfbGoogleMap1.Mode == MyFlightbook.Mapping.GMap_Mode.Dynamic); mfbAirportServices1.SetAirports(result.MasterList.GetNormalizedAirports()); } lblDistance.Text = le.GetPathDistanceDescription(distance); pnlDistance.Visible = lblDistance.Text.Length > 0; }
private void ShowMap(LogbookEntry le) { double distance = 0.0; bool fHasPath = le.Telemetry != null && le.Telemetry.HasPath; ListsFromRoutesResults result = null; if (le.Route.Length > 0 || fHasPath) // show a map. { result = AirportList.ListsFromRoutes(le.Route); MfbGoogleMap1.Map.Airports = result.Result; MfbGoogleMap1.Map.Options.fShowRoute = ckShowRoute.Checked; MfbGoogleMap1.Map.Options.fAutofillPanZoom = (result.Result.Count == 0); MfbGoogleMap1.Map.AllowDupeMarkers = false; lnkZoomOut.NavigateUrl = MfbGoogleMap1.ZoomToFitScript; lnkZoomOut.Visible = !result.MasterList.LatLongBox().IsEmpty; // display flight path, if available. if (ckShowPath.Checked && le.Telemetry.HasPath) { MfbGoogleMap1.Map.Path = le.Telemetry.Path(); distance = le.Telemetry.Distance(); rowKML.Visible = true; } } MfbGoogleMap1.Map.Images = ckShowImages.Checked ? mfbIlFlight.Images.ImageArray.ToArray() : Array.Empty <MFBImageInfo>(); bool fForceDynamicMap = util.GetIntParam(Request, "dm", 0) != 0; bool fHasGeotaggedImages = false; if (le.FlightImages != null) { foreach (MFBImageInfo mfbii in le.FlightImages) { fHasGeotaggedImages = fHasGeotaggedImages || mfbii.Location != null; } } // By default, show only a static map (cut down on dynamic map hits) if (fForceDynamicMap || fHasGeotaggedImages || fHasPath) { MfbGoogleMap1.Mode = MyFlightbook.Mapping.GMap_Mode.Dynamic; } else { MfbGoogleMap1.Mode = MyFlightbook.Mapping.GMap_Mode.Static; popmenu.Visible = false; lnkZoomOut.Visible = mfbAirportServices1.Visible = false; } if (result != null) { mfbAirportServices1.GoogleMapID = MfbGoogleMap1.MapID; mfbAirportServices1.AddZoomLink = (MfbGoogleMap1.Mode == MyFlightbook.Mapping.GMap_Mode.Dynamic); mfbAirportServices1.SetAirports(result.MasterList.GetNormalizedAirports()); } lblDistance.Text = le.GetPathDistanceDescription(distance); pnlDistance.Visible = lblDistance.Text.Length > 0; }
protected void MapAirports(string szAirports) { ListsFromRoutesResults result = AirportList.ListsFromRoutes(szAirports); SetAirportsInMap(result.Result); // and add the table to the page underneath the map mfbAirportServices1.SetAirports(result.MasterList.GetNormalizedAirports()); lnkZoomOut.Visible = !result.MasterList.LatLongBox().IsEmpty; pnlMetars.Visible = result != null && result.Result != null && result.Result.Count > 0; }
protected ListsFromRoutesResults RoutesList(string szRoute) { if (szRoute == null) { throw new ArgumentNullException(nameof(szRoute)); } ListsFromRoutesResults lfrr = (ListsFromRoutesResults)ViewState[szkeyVSAirportListResult]; if (lfrr == null) { ViewState[szkeyVSAirportListResult] = lfrr = AirportList.ListsFromRoutes(szRoute); } return(lfrr); }