已經知道怎麼隱藏右邊的Task了,那怎麼隱藏圖例(Legend)及屬性表(Property)?
當下是有抄下一些關鍵字,想說回來測一下就OK了?結果沒想到問題很大XD,後來在網路上有找到一個看似很像可以達成目標的Code確一直有問題,最後才發現又是框架沒算好。
直接來看Code
if(ViewerFrame.mapFrame.document.getElementById("InfoBand").style.width =='0px')
{
ViewerFrame.mapFrame.minInfoWidth=20;
ViewerFrame.mapFrame.ResizeTo(200);
ViewerFrame.mapFrame.InitialMapView();
}
else
{
ViewerFrame.mapFrame.minInfoWidth=0;
ViewerFrame.mapFrame.ResizeTo(0);
ViewerFrame.mapFrame.document.getElementById("LayerCaption").style.width = 0;
ViewerFrame.mapFrame.document.getElementById("LegendCtrl").style.width = 0;
ViewerFrame.mapFrame.document.getElementById("PropertyCaption").style.width = 0;
ViewerFrame.mapFrame.document.getElementById("PropertyCtrl").style.width = 0;
ViewerFrame.mapFrame.InitialMapView();
}
好!如果你剛好要解決這個問題,或是你也想要把這個隱藏的功能加到你的MapGuide系統上,注意以下:
上面的Code應該很容易看懂,就不特別解說了,重點是誰是ViewerFrame?
現在,你可以先去看你導入MapGuide框架的那一頁名稱,或是你直接在這篇搜尋"ViewerFrame",所以上面的程式碼就要依照你放置功能的位置來改變框架的階層。
如果你跟我一樣是先放在ToolBar上面測試了話,ViewerFrame就是parent.frames[0]。
也就是
if(parent.frames[0].mapFrame.document.getElementById("InfoBand").style.width =='0px')
{
parent.frames[0].mapFrame.minInfoWidth=20;
parent.frames[0].mapFrame.ResizeTo(200);
parent.frames[0].mapFrame.InitialMapView();
}
else
{
parent.frames[0].mapFrame.minInfoWidth=0;
parent.frames[0].mapFrame.ResizeTo(0);
parent.frames[0].mapFrame.document.getElementById("LayerCaption").style.width = 0;
parent.frames[0].mapFrame.document.getElementById("LegendCtrl").style.width = 0;
parent.frames[0].mapFrame.document.getElementById("PropertyCaption").style.width = 0;
parent.frames[0].mapFrame.document.getElementById("PropertyCtrl").style.width = 0;
parent.frames[0].mapFrame.InitialMapView();
}
沒有留言:
張貼留言