private async Task HandleIncidentSelection(IncidentModel incident) { if (CurrentUserStatus.CanNavigate) { RouteManager.ClearAllUserRoutes(); } if (incident != null) { PushpinManager.ShowIncidentInformationPanel(incident); FormsMap.SetPosition(incident.GeoLocation); if (CurrentUserStatus.CanNavigate) { await RouteManager.DrawRouteToIncident(incident); } } else { PushpinManager.HideIncidentInformationPanel(); PushpinManager.SetInteraction(true); if (CurrentUserStatus.IsAttendingAnIncident) { ResponderManager.DismissCurrentUserIncident(); } } }
private void AddManagers() { var annotationManager = new PushpinManager(_nativeMap, _customMap); var routeManager = new RouteManager(_nativeMap, _customMap, annotationManager); _mapManager = new MapManager(_customMap, annotationManager, routeManager); }
private void AddManagers() { var annotationManager = new PushpinManager(_nativeMap, _customMap); var routeManager = new RouteManager(_nativeMap, _customMap, annotationManager); var responderManager = new ResponderManager(_nativeMap, _customMap, routeManager, annotationManager); var heatMapManager = new HeatMapManager(_nativeMap, _customMap); _mapManager = new MapManager(_customMap, annotationManager, routeManager, responderManager, heatMapManager); }
private async Task HandleIncidentSelection(CustomPin pushpin) { await Task.Delay(0); if (pushpin != null) { PushpinManager.ShowPushpinInformationPanel(pushpin); FormsMap.SetPosition(pushpin.Position); } else { PushpinManager.HidePushpinInformationPanel(); PushpinManager.SetInteraction(true); } }
public void HandleCustomMapPropertyChange(PropertyChangedEventArgs e) { if (e.PropertyName.Equals(CustomMap.CurrentIncidentProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { SetCurrentIncident(FormsMap.CurrentIncident); } else if (e.PropertyName.Equals(CustomMap.IncidentsProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { _incidentsObserver.AttachIncidents(FormsMap.Incidents); if (!_mapAlreadyCentered && FormsMap.Incidents?.Any() == true) { InitializeMapPosition(); _mapAlreadyCentered = true; } } else if (e.PropertyName.Equals(CustomMap.RespondersProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { AttachResponders(FormsMap.Responders); } else if (e.PropertyName.Equals(CustomMap.RoutesProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { PushpinManager.AddUser(); ResponderManager.StartResponderUpdater(); } else if (e.PropertyName.Equals(CustomMap.IsHeatMapVisibleProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { HeatMapManager.UpdateVisibility(); } else if (e.PropertyName.Equals(CustomMap.IsForceNavigationProperty.PropertyName, StringComparison.CurrentCultureIgnoreCase)) { if (FormsMap.IsForceNavigation) { ResponderManager.StartUserNavigation(); } } }
private void UnloadTicketsRequested(object sender, EventArgs e) { PushpinManager.UnloadTickets(); }
private void LoadTicketsRequested(object sender, IEnumerable <TicketModel> tickets) { PushpinManager.LoadTickets(tickets); }
private void AttachResponders(IEnumerable <ResponderModel> responders) { PushpinManager.RemoveAllResponders(); PushpinManager.AddResponders(responders); }
public RouteManager(MapControl nativeMap, CustomMap formsMap, PushpinManager pushpinManager) : base(formsMap, pushpinManager) { _nativeMap = nativeMap; }
private void AttachRiders(IEnumerable <CustomRider> riders) { PushpinManager.RemoveAllRiders(); PushpinManager.AddRiders(riders); }
private void LoadTicketsRequested(object sender, IEnumerable <CustomPin> pushpins) { PushpinManager.AddPushpins(pushpins); }