Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 5
0
        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();
                }
            }
        }
Esempio n. 6
0
 private void UnloadTicketsRequested(object sender, EventArgs e)
 {
     PushpinManager.UnloadTickets();
 }
Esempio n. 7
0
 private void LoadTicketsRequested(object sender, IEnumerable <TicketModel> tickets)
 {
     PushpinManager.LoadTickets(tickets);
 }
Esempio n. 8
0
 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);
 }