最近遇到一個問題,由于想叉,浪費了很多時間,感覺怎個人都不好了,故記錄一下。
問題回顧:在做圖層顯示的時候 ArcGISDynamicMapServiceLayer 加載圖層不能顯示了,后來發(fā)現(xiàn)是由于地圖服務(wù) Default Visibility: false(默認不顯示)。
我的第一感覺是地圖服務(wù)的設(shè)置,完蛋了,搞不了啊...
然后就在獲取了地圖服務(wù)所有子圖層后用了 ArcGISFeatureLayer 來第二次加載各子圖層,然而顯示了,真的顯示了,可是 怎么有些要素沒有顯示出來,這個 顯示一部分是什么鬼???
safufu.png
后來經(jīng)大佬指點:
問題的關(guān)鍵在于 Default Visibility: false,所以需要在圖層加載完成后將地圖服務(wù)下 的各子圖層都設(shè)為可見,代碼如下:
if (status == STATUS.LAYER_LOADED) {
if (o instanceof ArcGISDynamicMapServiceLayer) {
// 獲取地圖服務(wù)的所有子圖層
ArcGISLayerInfo[] subLayers = ((ArcGISDynamicMapServiceLayer) o).getAllLayers();
for (ArcGISLayerInfo info : subLayers) {
// 將地圖服務(wù)下 子圖層都設(shè)為可見
info.setVisible(true);
}
}
}
居然就這么簡單,運行一下,已經(jīng)能正常顯示了。