private async Task AddScenic(MapPoint location) { var x = new Dialog_ScenicScan(); //x.Owner = Application.Current.MainWindow; x.ShowDialog(); var ScenicName = x.TxtName.Text; var ScenicDescription = x.TxtDescription.Text; var graphic = new Graphic(); //子窗体关闭按钮已做处理 if (ScenicName != string.Empty && ScenicDescription != string.Empty) { var symbol = (sceniceAgent as IRenderGraphic).CreatSymbol <CompositeSymbol>(); graphic = new Graphic { Geometry = location, Symbol = symbol }; var item = new Scenic { description = ScenicDescription, longitude = (decimal?)location.X, latitude = (decimal?)location.Y, id = Convert.ToInt32(_graphicsLayer.Graphics.Last().Attributes["ID"]) + 1, name = ScenicName }; graphic.Attributes["ID"] = item.id; graphic.Attributes["Name"] = ScenicName; graphic.Attributes["Description"] = ScenicDescription; graphic.Attributes["Longitude"] = location.X; graphic.Attributes["Latitude"] = location.Y; _graphicsLayer.Graphics.Add(graphic); var result = await sceniceAgent.AddScenicSpot(item); if (result) //新增成功 { MessageBox.Show("新增景点信息成功", "操作成功", MessageBoxButton.OK, MessageBoxImage.Information); } else { _graphicsLayer.Graphics.Remove(graphic); MessageBox.Show("新增景点信息失败", "操作失败", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private async Task AlterScenic(Point point) { var graphic = await _graphicsLayer.HitTestAsync(MyMapView, point, MAX_GRAPHICS); var _graphic = graphic.FirstOrDefault(); var x = new Dialog_ScenicScan(); x.Title = "修改景点"; string id = _graphic.Attributes["ID"].ToString(); x.TxtName.Text = _graphic.Attributes["Name"].ToString(); x.TxtDescription.Text = _graphic.Attributes["Description"].ToString(); //也可以采用点击位置的方式 double longitude = double.Parse(_graphic.Attributes["Longitude"].ToString()); double latitude = double.Parse(_graphic.Attributes["Latitude"].ToString()); x.ShowDialog(); string ScenicName = x.TxtName.Text; string ScenicDescription = x.TxtDescription.Text; if (ScenicName != string.Empty && ScenicDescription != string.Empty) { bool r = sceniceAgent.AlterScenicSpot(new Scenic() { id = int.Parse(id), description = ScenicDescription, name = ScenicName, longitude = (decimal)longitude, latitude = (decimal)latitude }); if (r) //修改UI { _graphic.Attributes["Name"] = ScenicName; _graphic.Attributes["Description"] = ScenicDescription; MessageBox.Show("修改景点信息成功", "操作成功", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("修改景点信息失败", "操作失败", MessageBoxButton.OK, MessageBoxImage.Error); } } }