private async void OnVectorLayerPropertyChanged(object sender, PropertyChangedEventArgs args) { if (GlobeSpotterConfiguration.AddLayerWfs) { VectorLayer vectorLayer = sender as VectorLayer; if (vectorLayer?.IsVisibleInGlobespotter ?? false) { switch (args.PropertyName) { case "IsVisibleInGlobespotter": await vectorLayer.GenerateGmlAsync(); break; case "Gml": if (vectorLayer.LayerId == null || vectorLayer.GmlChanged) { RemoveVectorLayer(vectorLayer); AddVectorLayer(vectorLayer); } break; } } else { RemoveVectorLayer(vectorLayer); } } }
private async Task UpdateVectorLayerAsync(VectorLayer vectorLayer) { if (vectorLayer.IsVisibleInGlobespotter) { await vectorLayer.GenerateGmlAsync(); } else { RemoveVectorLayer(vectorLayer); } }
public async void Dispose() { foreach (var element in this) { MeasurementPoint measurementPoint = element.Value; measurementPoint.Dispose(); } _measurementList.Open = IsOpen ? null : _measurementList.Open; _measurementList.Sketch = IsSketch ? null : _measurementList.Sketch; if (_measurementList.ContainsKey(EntityId)) { _measurementList.Remove(EntityId); } if (VectorLayer != null) { await VectorLayer.GenerateGmlAsync(); } }