zoukankan      html  css  js  c++  java
  • GraphicLayer+MapTip

    原文地址:http://www.gisall.com/html/76/139076-3862.html

    Query 允许从ArcGIS Server的地图服务中的要素图层中查询要素,或者通过MapIt Spatial Data Service在SQL Server中查询空间表。可以通过空间或者属性查询。

    查询结果返回时,可以使用.net向他们的几何和属性展示出来。要执行一个查询任务,需要定义用户接口和执行逻辑。

        示例中的查询任务使用一个TextBox空间定义查询,一个Button执行查询任务。然后在启用了MapIt的Graphic Layer中显示。

        1、还是要先定义个含有TiledMapServiceLayer的Map。

        2、为Query 任务创建输入接口。

        示例中使用TextBox做定义查询,并使用Button执行查询。

        (1)在main page 中定义一个Canvas 来承载任务的输入接口。由于Silverlight渲染Canvas的速度是最快的,因此选择Canvas作为容器元素。   

    <Canvas HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,15,7,0" Width="250" >
    </Canvas>
      (2) 在canvas中定义个矩形作为输入接口的背景。
      (3) 添加一个TextBlock告诉用户如何使用该任务
      (4) 为指定查询定义TextBox,并在TEXT中添加一个默认查询语句。
      (5) 为执行查询添加一个Button,为Click事件指定一个handler。实现这个handler以进行查询。
    <Canvas HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,15,7,0" Width="250" >
    <Rectangle Fill="#CC5C90B2" Stroke="Gray" RadiusX="10" RadiusY="10" Width="230" Height="55" />
    <TextBlock Text="Type a query and click Execute" Foreground="White" FontSize="10" Margin="10,5,0,0" />
    <TextBox x:Name="QueryTextBox" Width="150" Margin="15,22,0,0" Text="POP07_SQMI > 500" />
    <Button x:Name="QueryButton" Content="Execute" Margin="168,23,0,0" Click="QueryButton_Click" />
    </Canvas>
     
     
      3、为查询任务创建输出接口
        为了显示输出结果,在这里需要定义一个Graphic Layer,一个SimpleFillSymbol作为静态源。
    然后为显示查询结果的属性指定Maptips。MapTips将使用DictionaryConverter类来启用对查询结果属性的绑定。
     
      (1)在XML中添加两个命名空间。
        xmlns:esriConverters="clr-namespace:ESRI.ArcGIS.Client.ValueConverters;assembly=ESRI.ArcGIS.Client"
    xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client"
    >
      (2)指定一个DictionaryConverter 作为应用程序的资源。DictionaryConverter 允许指定绑定到一个特定的Dictionary Key。
     
      (3) 添加一个SimpleFillsymbol,随后在code-behind中将应用这个符号到任务的结果。
       
      (4)在Map控件中添加Graphiclayer。
     
      (5)在Graphiclayer中添加Maptip。先为Maptip的内容指定背景和边界,可以使用StackPanel。背景色则为在Grid中指定的颜色,
    边界颜色则在Border中指定。按这样的方式配置的容器元素,Maptip将自动调整大小。
      
      (6)为州的名称添加textblock 并指定数据绑定到图形中要素的 STATE_NAME 属性。在此,使用前面定义的DictionaryConverter。
    在MapTip元素中,DataContext是当前要素的Attribute属性。该属性是一个Dictionary,在这个Dictionary中,字段名和这个字段的属性值是key。
    自DictionaryConverter启用了绑定到Dictionary中的key,并且Maptip元素中的DataContext是一个Dictionary,则DictionaryConverter可以用于在Maptip中指定绑定到字段名称的数据。
     
      (7)定义一个StackPanel来承载人口密度标注和值。在其中为标注添加TextBlock。再为人口密度值添加一个TextBlock,使用DictionaryConverter 绑定到 POP07_SQMI 字段。

    原文地址:http://bbs.esrichina-bj.cn/ESRI/thread-58286-1-1.html

    graphicLayer的maptip问题
    编辑器加载中...

  • 相关阅读:
    Mysql DQL语言执行顺序
    MySQL核心技术——DQL语言
    Java基础第二十九天总结——Java8新特性
    Java基础第二十八天总结——反射机制
    在对csv文件做批量获取时无法获取,程序不动
    tensorflow 对csv数据进行批量获取
    tensorflow 做多元线性回归时怎样对非数据型数据(分类型数据)进行处理(编码)
    flatten函数
    用 sklearn包中的 linear_model 实现多元线性回归
    tensorflow实现多元线性回归时预测出的参数为nan
  • 原文地址:https://www.cnblogs.com/hl3292/p/2111473.html
Copyright © 2011-2022 走看看