private void MyMapControl_Loaded(object sender, RoutedEventArgs e) { FeaturesLayer layer = MyMap.Layers["MyFeaturesLayer1"] as FeaturesLayer; for (int i = 0; i < 100; i++) { double x = random.Next(2000, 7600); double y = random.Next(-7600, -2000); Feature f = new Feature { Geometry = new GeoPoint(x, y), }; f.Attributes.Add("Ranking", random.NextDouble()); f.ToolTip = new TextBlock { Text = "Ranking:" + f.Attributes["Ranking"].ToString(), Foreground = new SolidColorBrush(Colors.Red) }; layer.Features.Add(f); } List<QueryLayerParam> queryLayerParams = new List<QueryLayerParam>() { new QueryLayerParam { Name = "WaterPoly@changchun" } }; QueryBySqlParameters parameters = new QueryBySqlParameters { MapName = "Changchun", QueryParam = new QueryParam { QueryLayerParams = queryLayerParams }, }; QueryBySqlService query = new QueryBySqlService("http://localhost:7080/demo/"); query.ProcessAsync(parameters); query.Failed += (s, args) => { MessageBox.Show(args.Error.ToString()); }; query.ProcessCompleted += new EventHandler<QueryEventArgs>(query_ProcessCompleted); }
//SQL查询 private void QueryBySQL_Click(object sender, RoutedEventArgs e) { List<QueryLayerParam> queryLayerParams = new List<QueryLayerParam>(); string str = MyTextBox.Text; if (str == "") { MessageBox.Show("请输入SQL条件!"); } //在一个图层中查询,设置要查询的图层名和SQL语句 if (comboBox.SelectedIndex != 3) { QueryLayerParam queryLayerParam = new QueryLayerParam(); queryLayerParam.Name = comboBox.SelectionBoxItem.ToString(); queryLayerParam.SqlParam = new SqlParam() { WhereClause = str }; queryLayerParams = new List<QueryLayerParam>() { queryLayerParam }; } // 在三个图层中查询,设置要查询的图层名和SQL语句 else { QueryLayerParam queryLayerParamPoint = new QueryLayerParam(); queryLayerParamPoint.Name = PointLayerName; queryLayerParamPoint.SqlParam = new SqlParam() { WhereClause = str }; QueryLayerParam queryLayerParamLine = new QueryLayerParam(); queryLayerParamLine.Name = LineLayerName; queryLayerParamLine.SqlParam = new SqlParam() { WhereClause = str }; QueryLayerParam queryLayerParamArea = new QueryLayerParam(); queryLayerParamArea.Name = AreaLayerName; queryLayerParamArea.SqlParam = new SqlParam() { WhereClause = str }; queryLayerParams = new List<QueryLayerParam>() { queryLayerParamPoint, queryLayerParamLine, queryLayerParamArea }; } // 设置SQL查询参数类,以下属性为必设属性 QueryBySqlParameters parameters = new QueryBySqlParameters { MapName = "World", //ExpectCount小于等于0时返回全部查询结果 QueryParam = new QueryParam { QueryLayerParams = queryLayerParams, ExpectCount = 0 } }; //与指定服务器交互 QueryBySqlService query = new QueryBySqlService("http://localhost:7080/demo/"); query.ProcessAsync(parameters); query.Failed += (s, args) => { MessageBox.Show(args.Error.ToString()); }; query.ProcessCompleted += (s, args) => { ShowResult(args.ResultSet); }; }
private void polygon_DrawCompleted(object sender, DrawEventArgs e) { //QueryByGeometryParameters param = new QueryByGeometryParameters() //{ // MapName = "Changchun", // Geometry = e.Geometry, // QueryParam = new QueryParam // { // QueryLayerParams = new List<QueryLayerParam> // { // new QueryLayerParam // { // Name="Vegetable@changchun" // } // } // } //}; //QueryByGeometryService s = new QueryByGeometryService("http://*****:*****@world", SqlParam=new SqlParam { WhereClause="SmID=247" } } } } }; QueryBySqlService qss = new QueryBySqlService("http://localhost:7080/demo"); qss.ProcessCompleted += new System.EventHandler<QueryEventArgs>(qss_ProcessCompleted); qss.ProcessAsync(param); }