主要用到函數說明:
IMxDrawLayerTable::GetAt
得到層表中的圖層對象。詳細說明如下:
參數 | 說明 |
[in] BSTR pName | 圖層名稱 |
[in,defaultvalue(TRUE) ] VARIANT_BOOL isGetErased | 圖層被刪除掉,是否也能成功得到 |
js中實現代碼說明:
function ShowLayer() { var winWidth = 440; var winHeight = 140; var winLeft = (screen.width - winWidth) / 2; var winTop = (screen.height - winHeight) / 2 - 20; var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;' var rt = window.showModalDialog("Gettext.htm?tmp=" + Math.random(), "輸入圖層名", str); var txt; if (typeof (rt) == "undefined") { return; } else { var arr = rt.split(","); txt = arr[0]; } var database = mxOcx.GetDatabase(); //返回數據庫中的層表對象 var layerTable = database.GetLayerTable(); //得到層表中的圖層對象 var layerRec = layerTable.GetAt(txt, false); if (layerRec == null) return; //返回圖層是否處於關閉狀態 layerRec.IsOff = false; alert("成功顯示圖層"); }