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