private void RestartGlobeSpotter()
        {
            if (_api == null || _api.GetAPIReadyState())
            {
                DrawCompleteEvent.Unsubscribe(OnDrawComplete);
                _measurementList.Api = null;
                DockPaneGlobeSpotter globeSpotter = (dynamic)DataContext;
                globeSpotter.PropertyChanged          -= OnGlobeSpotterPropertyChanged;
                _settings.PropertyChanged             -= OnSettingsPropertyChanged;
                _cycloMediaGroupLayer.PropertyChanged -= OnGroupLayerPropertyChanged;
                _measurementList.RemoveAll();

                _vectorLayerList.LayerAdded   -= OnAddVectorLayer;
                _vectorLayerList.LayerRemoved -= OnRemoveVectorLayer;
                _vectorLayerList.LayerUpdated -= OnUpdateVectorLayer;

                foreach (var vectorLayer in _vectorLayerList)
                {
                    vectorLayer.PropertyChanged -= OnVectorLayerPropertyChanged;
                }

                foreach (var vectorLayer in _vectorLayerList)
                {
                    uint?vectorLayerId = vectorLayer.LayerId;

                    if (vectorLayerId != null)
                    {
                        _api?.RemoveLayer((uint)vectorLayerId);
                        vectorLayer.LayerId = null;
                    }
                }

                _viewerList.RemoveViewers();

                if (_api != null && _api.GetAPIReadyState())
                {
                    int[] viewerIds = _api.GetViewerIDs();

                    foreach (int viewerId in viewerIds)
                    {
                        _api.CloseImage((uint)viewerId);
                    }

                    RemoveApi();
                }

                Initialize();
            }
        }
Exemplo n.º 2
0
        private void RestartstreetSmart()
        {
            // Todo: Check API ready state
            _measurementList.Api = null;
            DockPanestreetSmart streetSmart = (dynamic)DataContext;

            _settings.PropertyChanged             -= OnSettingsPropertyChanged;
            _cycloMediaGroupLayer.PropertyChanged -= OnGroupLayerPropertyChanged;
            _measurementList.RemoveAll();

            _viewerList.RemoveViewers();

            // Todo: check api ready state
            // Todo: get viewer Ids from api
            int[] viewerIds = new int[0];

            foreach (int viewerId in viewerIds)
            {
                // Todo: close image from api
            }

            Initialize();
        }