openrs图层操作,通过图层变量,获取所有图层
下述代码只是实验代码,可成功提取到不同类型的图层,可根据自己的需求改。
代码如下:
orsArray<orsILayer*>layers;
orsIImageViewBase *base = NULL;
orsImage2View map2View;
ref_ptr <orsIRegion> clipRegion = getGeometryService()->CreateRegion();
orsRect_i clipRect = orsRect_i(orsPOINT2Di(0, 0), orsPOINT2Di(512, 512));
clipRegion->Union(&clipRect);
GetLayerCollection()->GetLayerTree()->OnPreDraw(ORS_DRAW_CACHE, base, &map2View, clipRegion.get(), layers);
orsISFLayer *tem_layer=NULL;
int sss = layers.size();
for (int i = 0;i < layers.size();i++)
{
tem_layer = ORS_PTR_CAST(orsISFLayer, layers[i]);
}
osfIFeature *tmp_feat=tem_layer->GetFeature(0);
orsILayerTreeItem*III=GetLayerCollection()->GetLayerTree()->GetChildren(0);
orsILayerTreeItem*IIII = GetLayerCollection()->GetLayerTree()->GetChildren(1);