假设pLayer为需要设置的图层。
设置当前可见范围,为图层的最小可见范围:(上面是三维,下面是二维)
IGlobeDisplayLayers2 pGlobeDisplayLayers = m_globeControl.Globe.GlobeDisplay as IGlobeDisplayLayers2;
IGlobeLayerProperties5 pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pLayer) as IGlobeLayerProperties5;
pGlobeLayerProperties.MinimumDistance = m_globeViewUtil.ScalingDistance;
pGlobeDisplayLayers.RefreshLayer(pLayer);
pLayer.MaximumScale = axMapControl1.MapScale;
设置当前可见范围,为图层的最大可见范围:(上面是三维,下面是二维)
IGlobeDisplayLayers2 pGlobeDisplayLayers = m_globeControl.Globe.GlobeDisplay as IGlobeDisplayLayers2;
IGlobeLayerProperties5 pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pLayer) as IGlobeLayerProperties5;
pGlobeLayerProperties.MaximumDistance = m_globeViewUtil.ScalingDistance;
pGlobeDisplayLayers.RefreshLayer(pLayer);
pLayer.MinimumScale = axMapControl1.MapScale;
清除图层的可见范围设置:(上面是三维,下面是二维)
IGlobeDisplayLayers2 pGlobeDisplayLayers = m_globeControl.Globe.GlobeDisplay as IGlobeDisplayLayers2;
IGlobeLayerProperties5 pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pLayer) as IGlobeLayerProperties5;
pGlobeLayerProperties.MinimumDistance = 0;
pGlobeLayerProperties.MaximumDistance = 0;
pGlobeDisplayLayers.RefreshLayer(pLayer);
pLayer.MaximumScale = 0;
pLayer.MinimumScale = 0;