我做的一个WebGIS页面,用一个树来控制图层的显示,出现了问题
要求一开始默认就是加载图层的,也就是CheckBox默认是全选的,我实现了CheckBox全选,可是没有对应的显示图层啊,我点击CheckBox两次后,就正常了,怎么回事啊
代码如下:
function client_OnTreeNodeChecked()
{
var obj = window.event.srcElement;
var treeNodeFound = false;
var checkedState;
var LegendName;
if (obj.tagName == "INPUT" && obj.type == "checkbox")
{
var treeNode = obj;
checkedState = treeNode.checked;
parent.parent.objMapView=parent.parent.gObjMapView;
LegendName=treeNode.title;
//
var osvgLegend=svgMapDoc.getElementById(LegendName); if (osvgLegend==null)
{
//如果图形没有 var sImageLightName,sImageDarkName;
GetData(LegendName);
}
else
{
//显示和不显示 var osvgLegendStyle=osvgLegend.getStyle();
var bVisble=osvgLegendStyle.getPropertyValue( 'visibility '); if (bVisble=="visible")
{
//隐藏图层 osvgLegendStyle.setProperty( 'visibility ', 'hidden '); }
else
{
//显示图层
osvgLegendStyle.setProperty( 'visibility ', 'visible '); }
}
}
}
要求一开始默认就是加载图层的,也就是CheckBox默认是全选的,我实现了CheckBox全选,可是没有对应的显示图层啊,我点击CheckBox两次后,就正常了,怎么回事啊
代码如下:
function client_OnTreeNodeChecked()
{
var obj = window.event.srcElement;
var treeNodeFound = false;
var checkedState;
var LegendName;
if (obj.tagName == "INPUT" && obj.type == "checkbox")
{
var treeNode = obj;
checkedState = treeNode.checked;
parent.parent.objMapView=parent.parent.gObjMapView;
LegendName=treeNode.title;
//
var osvgLegend=svgMapDoc.getElementById(LegendName); if (osvgLegend==null)
{
//如果图形没有 var sImageLightName,sImageDarkName;
GetData(LegendName);
}
else
{
//显示和不显示 var osvgLegendStyle=osvgLegend.getStyle();
var bVisble=osvgLegendStyle.getPropertyValue( 'visibility '); if (bVisble=="visible")
{
//隐藏图层 osvgLegendStyle.setProperty( 'visibility ', 'hidden '); }
else
{
//显示图层
osvgLegendStyle.setProperty( 'visibility ', 'visible '); }
}
}
}
{
//隐藏图层 osvgLegendStyle.setProperty( 'visibility ', 'hidden '); }
else
{
//显示图层
osvgLegendStyle.setProperty( 'visibility ', 'visible '); }