版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26991807/article/details/78010119
由于skyline是以流的形式进行加载图层(为了响应更快),浏览哪里就显示哪里,要获取该图层的要素features集合的话,默认情况下图层是不加载的,图层不加载的话,图层中对应的features自然也获取不到。除非你手动去浏览该图层所在的位置令其加载,但是进行二次开发时要获取features就必须能让他全部一次性加载出来,手动浏览的情况也不现实。我们可以采取关闭流的方式来进行加载,也就是,先关闭流再进行图层加载。
//代码1 :关闭流加载图层
featureLayer.Streaming=false; //关闭流
featureLayer.Load();//加载图层
featurelayer = sgworld.Creator.CreateFeatureLayer("longjingguoji","FileName=D:\\data\\longjingguoji.shp;TEPlugName=OGR;","");
//此时无需再进行setvisibilty。只需关闭流再对图层进行refresh即可。
featurelayer.Streaming = false;
featurelayer.Refresh();