silverlight for arcgis开发笔记

第一天接触地理信息开发,用silverlight做,平台是arcgis 9.3,特记笔记如下:

引用相应命名空间后,xaml里建立一个Map对象,里面是分成不同的层的,通常的数据都在Tiled层里,少数在Dynamic里。

Titled层是带缓存的,Dynamic层是实时从数据库里读取的,所以速度会很慢(地理信息组如是说)。

每个层都需要引用服务的地址,比如:

http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

通过这个地址可以看到这个地图服务下有哪些层,这些层都是什么,以及地图的边界坐标等信息。

地图也可以设置默认的显示区域,指定Extend坐标属性就可以。默认是fit screen的。

获取鼠标点的坐标不一定要通过GEOCODEServer,可以在地图控件里获取,通过Map对象里的MouseClick事件,可以获得当前鼠标点的坐标信息。由于有空间空间参考的概念(目前还不是很明确这个概念),所以获取出的坐标点往往不是实际的经度纬度信息,这个与国外提供的地图服务不同。

查询任务可以获取返回区域的信息。查询任务通常要指定查询的是当前地图下的哪个层,在服务地址里斜杠加层的引用就可以。某些层查询会抛异常,通常省界这类层支持空间查询。

演示中的添加XAML到地图中目前来看还是有限制,不是所有XAML对象都可以加到地图中,只有esri命名空间下的几个对象可以。

ESRI开发包在VS2008下偶尔会死掉,目前使用的server2003以及vista操作系统下都会有这个问题,尚不清楚问题原因。

有些时候需要禁止IDE验证XAML。偶尔还会有一个Runtime序列化的异常,不太确定如何出现的,不过在Blend里调试好之后,再回到VS里运行就可以通过了。每次调试都需要这样。

总结:

Silverlightarcgis开发包开发出的效果还是很不错的,只是很多莫名其妙的错误让人很恼火。希望正式版中能健全一些,不过,希望不用等到silverlight 3出来之后吧。

posted @   哥本哈士奇(aspnetx)  阅读(1193)  评论(3编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2008-05-18 众志成城,我的所见所感
2008-05-18 Google啊谷狗,你是在考验中国人的智商还是探测中国人的情商?
2006-05-18 [060518]BS指纹门禁系统开发之路~
点击右上角即可分享
微信分享提示