public ShowMapPage(Departure departure) { InitializeComponent(); useStopNotStation = false; findEarliestDeparture = stop => { if (stop.ParentStation.ID == DataFeedClient.Basic.Stops.FindByIndex(departure.StopID).ParentStation.ID) { return(departure.DepartureDateTime); } else { return(departure.IntermediateStops.Find(s => DataFeedClient.Basic.Stops.FindByIndex(s.StopID).ParentStation.ID == stop.ParentStation.ID).Arrival); } }; Title = Settings.Localization.Map; var stops = departure.GetStops(); SetMapScope(stops, false, true); DrawMarkers(stops); DrawPolyline(stops, departure.LineColor); }
public static string GetMapWithMarkersAndPolylines(Departure departure) { var stops = departure.GetStops(); var map = stops.CreateMap("map", stops.GetAverageLatitude(), stops.GetAverageLongitude(), 13); var initMap = new JavascriptFunction.Definition("initMap"); initMap.AddInstruction(map.VariableAssignment); initMap.AddInstruction(stops.CreateMarkers(map).ToString); initMap.AddInstruction(stops.CreateSimplePolyline(map, 4.0, departure.LineColor).ToString); return(GetHtmlStringConstant(initMap.ToString(), initMap.FunctionName)); }