首页 > Web开发 > 详细

Silverlight项目笔记8:层次布局、客户端读取shp、ExecuteCountAsync、柱状图、url传参

时间:2014-12-21 19:14:30      阅读:303      评论:0      收藏:0      [点我收藏+]

1.层次布局

   由于地图窗口和菜单栏都在一个父容器内,在浏览器缩小到一定程度点击地图弹出infoWindow时,会出现菜单栏遮挡infoWindow中间部分的现象,于是通过设置Canvas.ZIndex来设置显示层次顺序解决这种冲突。

技术分享

2.客户端读取Shp文件

    有一个应用场景时用户自定义一个范围进行数据统计,包括用户上传已有Shp数据来确定统计区域,如何读取shp文件呢?答案是用了开源的ShapeFileReader类,转化得到graphic,客户端再处理即可。下载地址 http://esrislcontrib.codeplex.com/

技术分享

 

3.统计图标之柱状图

    之前说到的统计功能大量用到了柱状图,地图上展现柱状图有两种方式:

    (1)自定义好一个MarkerSymbol,重写模板,使用柱状图控件,并设置好相应绑定元素,以graphic的形式显示即可。

技术分享

     (2)自定义一个控件,同样重写模板,设置好相应绑定元素,添加到ElementLayer里,再将ElementLayer加载到地图上显示即可。

技术分享

    使用第一种graphic方式的好处是通过设置偏移量offsetX、offsetY后,能够确保柱状图始终显示在正确的位置,不会偏移,不足的是当地图缩小的时候,柱状图大小是固定的,于是会挤在一起。

    使用第二种ElementLayer方式的好处是柱状图的大小会随地图缩放而变化,但是不足之处是地图放大到一定程度时,柱状图会偏移很多,偏移量的问题暂时没能够解决。

    目前经过权衡使用的是graphic的方式展现

技术分享

4.QueryTask查询项目数量

    有一个应用场景是在列表里加载显示项目信息,同时在顶部显示项目数量,由于使用QueryTask一次查询项目信息会明细降低速度,所以用的默认值只查询1000条数据,但是项目数量这个数值如何获取呢?答案是QueryTask提供了一个专门查询数量的方法ExecuteCountAsync,只返回数量值,查询速度很快,所以可以再QueryTask一次获取项目数量值。

技术分享

5.url传参

     获取url里的参数,可以使用如图方法。

技术分享

技术分享

 

PS:转做开发大半年了,是时候读下Prism的源码,总结下设计模式了,后续一段时间更新会以这两方面为主。

Silverlight项目笔记8:层次布局、客户端读取shp、ExecuteCountAsync、柱状图、url传参

原文:http://www.cnblogs.com/colinhou/p/4176838.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!