socketref,再见!高德

https://github.com/adoggie

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

在swgis的flex应用框架内对于实时监控和回放界面使用stackview进行布局
 1 <mx:ViewStack id="viewstack1" width="100%" height="100%" creationPolicy="all">
 2             <s:NavigatorContent label="实时监控" width="100%" height="100%" id="GisRealView">
 3                 <s:layout>
 4                     <s:VerticalLayout/>
 5                 </s:layout>
 6                 <ns1:PaneGisRealView width="100%" height="100%">
 7                     <ns1:layout>
 8                         <s:VerticalLayout/>
 9                     </ns1:layout>
10                 </ns1:PaneGisRealView>
11             </s:NavigatorContent>
12             <s:NavigatorContent label="历史回放" width="100%" height="100%" id="GisReplayView">
13                 <s:layout>
14                     <s:VerticalLayout/>
15                 </s:layout>
16                 <ns1:PaneGisReplayView height="100%" width="100%"/>
17             </s:NavigatorContent>
18         
19         </mx:ViewStack>
stackview我通常习惯的设置为creationPolicy="all" ,因为这样的话stackview在初始化的时候将内部的所有 NavigatorContent都将进行初始化实例,如果不设置creationPolicy的话,flex将在用户切换NavigatorConent时创建实例(lazy create).
这本是个简单而且方便的设置行为,没想到在第一个view1的地图内显示feature位置都是okay的,但是切换到第二个view2的地图显示feature,发现feature对应的位置在x方向上都做了偏移。
view1.map显示linestring feature:

view2.map显示的linestring feature:


相同的linestring在两个map上显示居然位置产生了偏移,这个问题困扰了一整天和一个晚上,苦思不得其解,采用排斥法,切换view1,view2在stackview中排布次序,居然view2显示就正常了。
然后就联想到了createPolicy这个属性了,一切还原,去除这个属性(默认:lazy create),跑一下居然好了!
奇怪奇怪,没时间具体去研究这个属性在flex里面的实现机制了,就这样吧!
posted on 2011-07-07 21:56 放屁阿狗 阅读(1321) 评论(0)  编辑 收藏 引用 所属分类: OpenScales

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理