private void InitAnimation() { QueryTask queryTask = new QueryTask("http://192.168.0.1:6080/arcgis/rest/services/···"); queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted; ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query(); query.ReturnGeometry = true; //query.Where = "FractureSurfaceID" + "=" + "1" + " or " + "FractureSurfaceID" + "=" + "2";支持任何合法的sql Where语句 query.Where = "1=1"; query.OutSpatialReference = new SpatialReference(102100); //输出要素的坐标系 query.OutFields.Add("*"); //想要查询的字段 "*"表示全部字段 queryTask.ExecuteAsync(query); } private void QueryTask_ExecuteCompleted(object sender,ESRI.ArcGIS.Client.Tasks.QueryEventArgs args) { FeatureSet featureSet = args.FeatureSet; Graphicslayer graphicslayer = MyMap.Layers["MyGraphicslayer"] as Graphicslayer; SpatialReference SR = graphicslayer.SpatialReference; //一一读取查询的结果 if (featureSet != null && featureSet.Features.Count > 0) { for (int i = 0; i < featureSet.Features.Count; i++) { Graphic selectedFeature = featureSet.Features[i]; //查询结果高亮闪烁显示 selectedFeature.Symbol = LayoutRoot.Resources["StrobeMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; graphicslayer.Graphics.Add(selectedFeature); } } else { } }
<Grid.Resources> <esri:MarkerSymbol x:Key="StrobeMarkerSymbol"> <esri:MarkerSymbol.ControlTemplate> <ControlTemplate> <Canvas> <visualstatemanager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="normal"> <Storyboard RepeatBehavior="ForEver"> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)" From="1" To="10" Duration="00:00:01" /> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)" From="1" To="10" Duration="00:00:01" /> <DoubleAnimation BeginTime="0" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)" From="1" To="0" Duration="00:00:01" /> </Storyboard> </VisualState> <!--<VisualState x:Name="normal" />--> </VisualStateGroup> </visualstatemanager.VisualStateGroups> <Ellipse Height="10" Width="10" Canvas.Left="-5" Canvas.Top="-5" RenderTransformOrigin="0.5,0.5" x:Name="ellipse" IsHitTestVisible="True" > <Ellipse.RenderTransform> <ScaleTransform /> </Ellipse.RenderTransform> <Ellipse.Fill> <RadialGradientBrush> <GradientStop Color="#00FF0000" /> <GradientStop Color="#FFFF0000" Offset="0.25"/> <GradientStop Color="#00FF0000" Offset="0.5"/> <GradientStop Color="#FFFF0000" Offset="0.75"/> <GradientStop Color="#00FF0000" Offset="1"/> </RadialGradientBrush> </Ellipse.Fill> </Ellipse> <Ellipse Height="10" Width="10" Canvas.Left="-5" Canvas.Top="-5" Fill="#FFFF0000" x:Name="ellipse1"/> </Canvas> </ControlTemplate> </esri:MarkerSymbol.ControlTemplate> </esri:MarkerSymbol> </Grid.Resources>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。