原文 http://blog.sina.com.cn/s/blog_4638cf7b0100wntt.html

arcgis api for silverlight(1)

(2011-09-21 09:09:26)

标签:

杂谈

分类: 技术

发现了一个很好的学习工具,就是Esri的在线帮助,包括概念,例子,API介绍等等。接下来的学习基本上就是按照例子结合开发方案进行实践学习。

http://help.arcgis.com/en/webapi/silverlight/samples/start.htm

程序的构成 和asp.net结构类似,前台设计代码+后台程序代码。

Xaml+Xaml.cs

Xaml包括控件的引用、设计表格的代码、控件的设置和数据绑定代码。

Xaml则是C#程序代码。

首先学习加载图层,添加控制控件。

加载图层服务是在Xaml中添加的,放在代码最下端的是在最上端显示的。图层服务的显示可以在后台程序中控制

可以添加一些控制控件,navigation(导航控件)、scaleLine(比例尺)、mapProgressBar(进度条),直接链接map就可以,非常方便。

实际上map控件加载的是server发布的一个地图服务。

图层加载服务有三种:

TiledMap 缓存切片地图服务 适用于在服务器已经做了缓存的地图
DynamicMap 动态地图服务 适用于没做缓存的地图

Image 影像服务

它们都属于MapServer。

FeatureLayer则不是加载服务,而是加载某一个确切的图层。属于graphics layer

在Featurelayer里,加载"Renderer"可以制定矢量要素的各种形状及鼠标的形状。

<Grid.Resources>
   <esri:SimpleRenderer
x:Key="SelectRenderer">
    <esri:SimpleRenderer.Symbol>                           
 //client.SimpleRenderer.Symbol

<esri:SimpleMarkerSymbol Color="#7F0F2497"
Size="20"/>  
//制定点的形状

</esri:SimpleRenderer.Symbol>

</Grid.Resources>

尝试了利用FeatureDataGrid显示加载的图层属性数据。但是却显示数据总数,不显示数据,后来对照源代码好像是AutoGenerateColumns选项没选上。

显示鼠标坐在地理真实坐标,需要首先获取鼠标屏幕坐标,再利用map1.ScreenToMap获取真实坐标。

 

arcgis api for silverlight(2)

(2011-09-22 16:49:07)

标签:

杂谈

分类: 技术

通过表格查找要素并且显示属性和高亮地图显示

关键接口:

ESRI.ArcGIS.Client.Tasks.QueryTask 用于查询

QueryTask queryTask = new QueryTask("http..."); 设置查询图层服务

queryTask.ExecuteAsync(query); 执行查询语句

queryTask.ExecuteAsync(query,"user state"); 执行查询语句并带用户状态

ESRI.ArcGIS.Client.Tasks.Query 用于设置查询条件

Query.text 设置查找文本

Query.Where 设置查找条件

Query.Outfield.AddRange or Query.Outfield.Add 设置查询输出字段

Query.OutSpatialReference 设置查询输出控件参考

Query.ReturnGeometry 设置输出要素是否包含集合体

datagrid数据绑定:

分两种:一种是横排显示,一种是竖排显示

竖排显示首先在Xaml中要首先设置列字段数据绑定

<Datagrid columns>

<sdk:datagrid.textcolumn Binding="{binding path=key}">//字段

<sdk:datagrid.textcolumn Binding="{binding path=value}">//值

在后台代码中:

dataGrid.ItemsSource = selectedFeature.Attributes;//绑定选择要素的属性

横排显示需要在Xaml中设置列字段数据绑定

<Datagrid columns>

<sdk:datagrid.textcolumn Binding="{binding attributes[]}">//绑定

在后台代码中:

Binding resultFeaturesBinding = new Binding("LastResult.Features");//绑定属性
resultFeaturesBinding.Source = queryTask;//绑定来源
dataGrid1.SetBinding(DataGrid.ItemsSourceProperty,
resultFeaturesBinding);//绑定

在地图中高亮显示:

首先在Xaml中添加图层<esri:GraphicsLayer
ID="MyGraphicsLayer" />

再在后台程序中:

GraphicsLayer selectionGraphicslayer =
map1.Layers["MySelectionGraphicsLayer"] as GraphicsLayer;

graphicsLayer.Graphics.Add(selectedFeature);//绑定要素图层标记

通过点击图层查找要素并且显示属性和高亮地图显示

定义鼠标勾画结束事件

private void MyDrawFace_DrawComplete (object sender,
ESRI.ArcGIS.Client.DrawEventArgs args)
{

QueryTask queryTask = new QueryTask("http:“);//定义查找数据源

query.Geometry = args.Geometry;//定义查找图形

queryTask.ExecuteAsync(query);执行查找

}

在地图中高亮显示多个要素:

foreach (Graphic feature in featureSet.Features)
{
graphicsLayer.Graphics.Insert(0, feature);
}

arcgis api for silverlight(3)发布

(2011-10-11 08:52:52)

标签:

杂谈

分类: 技术
  1. win7的IIS配置。win7默认的IIS是7.5.
  2. silverlight程序发布,比较简单,在vs2010下,右键单击Web工程后点击发布即可。
  3. 设置IIS,首先新建网站,然后在新建网站上添加应用程序,路径设置为工程所在文件夹,应用程序池选择asp.net4.0。
  4. arcgis api for silverlight程序获取Server服务,在服务器的IIS目录下,必须放置这两个文件(crossdomain.xml和clientaccesspolicy.xml)?跨域访问文件
  5. 防火墙一定要关闭或者设置好。
  6. webconfig,加默认文档前要加<clear />。

arcgis api for silverlight的更多相关文章

  1. ArcGIS api fo silverlight学习一(silverlight加载GeoServer发布的WMS地图)

    最好的学习资料ArcGIS api fo silverlight官网:http://help.arcgis.com/en/webapi/silverlight/samples/start.htm 一. ...

  2. ArcGIS API for Silverlight动态标绘的实现

    原文:ArcGIS API for Silverlight动态标绘的实现 1.下载2个dll文件,分别是: ArcGISPlotSilverlightAPI.dll 和 Matrix.dll 其下载地 ...

  3. ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题

    原文:ArcGIS API for Silverlight地图加载众多点时,使用Clusterer解决重叠问题 问题:如果在地图上加载成百上千工程点时,会密密麻麻,外观不是很好看,怎么破? 解决方法: ...

  4. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  5. ArcGIS API for Silverlight 调用GP服务绘制等值面

    原文:ArcGIS API for Silverlight 调用GP服务绘制等值面 GP服务模型如下图: 示例效果图片如下:

  6. ArcGIS API for Silverlight代码中使用Template模板

    原文:ArcGIS API for Silverlight代码中使用Template模板 在项目开发中,会遇到点选中聚焦闪烁效果,但是因为在使用Symbol的时候,会设置一定的OffSetX和OffS ...

  7. ArcGIS API for Silverlight实现地图测距功能

    原文:ArcGIS API for Silverlight实现地图测距功能 问题:如何实现地图测距功能? 地图工具栏 <Grid x:Name="gToolMenu" Hei ...

  8. ArcGIS API for Silverlight 加载google地图

    原文:ArcGIS API for Silverlight 加载google地图 using System; using System.Net; using System.Windows; using ...

  9. ArcGIS API for Silverlight 绘制降雨路径动画

    原文:ArcGIS API for Silverlight 绘制降雨路径动画 #region 降雨动画演示 2014-04-16 List<Graphic> graphics = new ...

  10. ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件

    原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...

随机推荐

  1. C语音--static变量

    static变量大概是两种情况 在函数里的static变量意味着这个变量的生存期是全局的,你可以想象它实际上就是在函数外声明的, 当然因为可见范围的原因其他函数不能访问它 在函数外的static变量意 ...

  2. Prime Palindrome Golf

    Prime Palindrome Golf Do you know how to play Prime Palindrome Golf? You are given a number and your ...

  3. Linux批量重命名

    http://blog.csdn.net/qm4050/article/details/8472464 http://www.jb51.net/article/33902.htm http://hi. ...

  4. 2013第46周四xml作为WS两端中间测试文件

    今天又到了11点多才开始写随笔记录,有点惭愧,加班回来到现在已经近2小时了,而我此刻才进入正题,之前的时间都跟MM聊天了,或许是单身久了,居然在个人情感方面感觉自己很out了,不想这些了,重点是回顾下 ...

  5. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅰ

    许多应用程序都需要处理有序的元素,但不一定要求他们全部有序,或者是不一定要以此就将他们排序.很多情况下我们会手机一些元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大的元素.如此这 ...

  6. Linux Java的环境变量搭建

    JAVA JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载完后,解压完并将其中的jdk文件夹移动到/u ...

  7. matlab学习

    1.将一个图片嵌入一张图里,去除黑边 clc clear close all I = imread('qiegray.jpg'); I = rgb2gray(I); I = double(I); I1 ...

  8. blockUI

    组件主页 主要使用到 blockUI 组件实现 将jquery和组件的JS下载到本地 然后直接就可以实现遮罩层功能 显示遮罩层:$.blockUI(); 隐藏遮罩层:$.unblockUI(); 该网 ...

  9. hdu 5071 Chat(模拟|Splay)

    Chat Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Sub ...

  10. [Python学习笔记][第八章Python异常处理结构与程序调试]

    1/30 第八章Python异常处理结构与程序调试 异常处理 try-except结构 try: try块 except Exception: except块 try-except-else结构 tr ...