码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-12-21 19:16:27      阅读:191      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!