因某些因素無法採用最新SL技術執行當前專案,依然採ESRI已announce不再出新版的ADF,但ADF排版醜到我這毫無審美觀的工程師都看不下去T︿T 這幾天突發奇想,如果人力不夠,無法真正使用RIA技術,那要如何改善排版,讓ADF可以偽裝成SL那種簡潔美麗又好用的介面?!
第一個想作的是,把Map撐至網頁最大範圍,所有功能都置於FloatingPanel內,不用時可拖曳、收合,隨使用者喜好任意擺放。
本來是用DIV來撐開網頁,透過設定DIV與Map之Width&Height等於100%,讓網頁被整張地圖撐滿,但是FloatingPanel反而會因DIV全滿的配置方式,被擠出Browser的可見範圍之外,造成無法操作的窘境。幾經思考,認為由DIV發展的方向可能有誤,一旦有DIV就表示版面被切割,會難以達到「撐滿版面」的預期效果!
解決辦法是針對ADF控制項的CssClass下手即可(請特別注意z-index):
< body>
< form id="form1" runat="server">
< esri:MapResourceManager ID="MapResourceManager1" runat="server" 略...>
< /esri:MapResourceManager>
< esri:Map ID="Map1" runat="server" Height="100%" MapResourceManager="MapResourceManager1" Width="100%" CssClass="m1" >< /esri:Map>
< esri:FloatingPanel CssClass="m2" ID="FloatingPanel1" runat="server" 略...>
< esri:Toc ID="Toc1" runat='server' Height='300px' Width='220px' BuddyControl="Map1" />
< /esri:FloatingPanel>
< /form >
< / body>
其中m1與m2設定於head中:
< head runat="server">
< style type="text/css">
.m1
{
position:absolute;
top:0px;
left:0px;
z-index:0;
}
.m2
{
position:absolute;
top:0px;
left:0px;
z-index:1;
}
< /style>
< /head>
Map撐滿整個網頁 且FloatingPanel always on Top |
沒有留言:
張貼留言