//服务器返回查询结果 private void bufferQueryService_ProcessCompleted(object sender, BufferQueryEventArgs e) { if (e.BufferResultSet == null || e.BufferResultSet.ResultSet.RecordSets == null || e.BufferResultSet.ResultSet.RecordSets.Count < 0) { MessageBox.Show("查询结果为空!"); return; } else { MyDataGrid.Visibility = Visibility.Visible; //将指定查询图层的查询结果加载到矢量图层中 foreach (RecordSet item in e.BufferResultSet.ResultSet.RecordSets) { resultLayer.AddFeatureSet(item.ToFeatureSet()); } //将查询到的地物赋予用户自定义的样式 foreach (Feature item in resultLayer.Features) { if (item.Geometry is GeoLine) { item.Style = LineSelectStyle; } else if (item.Geometry is GeoRegion) { item.Style = SelectStyle; } else { item.Style = new PredefinedMarkerStyle() { Color = new SolidColorBrush(Colors.Blue), Size = 20, Symbol = PredefinedMarkerStyle.MarkerSymbol.Diamond }; } } //将指定查询图层的查询缓冲区域加载到矢量图层中 Feature buffer = new Feature { Geometry = e.BufferResultSet.BufferRegion, }; resultLayer.AddFeature(buffer); } }
private void request_Completed(object sender, RequestEventArgs e) { JsonObject jsonObject = (JsonObject)JsonObject.Parse(e.Result); BufferResultSet result = BufferResultSet.FromJson(jsonObject); LastResult = result; BufferQueryEventArgs args = new BufferQueryEventArgs(result, e.Result, e.UserState); OnProcessCompleted(args); }
private void OnProcessCompleted(BufferQueryEventArgs args) { if (ProcessCompleted != null) { Application.Current.RootVisual.Dispatcher.BeginInvoke( ProcessCompleted, new object[] { this, args }); } }