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(); } }
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(); }