2015-12-21 79 views
1

這是一個Esri ArcGIS特定問題。無法在刪除平鋪地圖服務圖層後在ArcGIS地圖中顯示圖層

我想創建一個功能來改變底圖。

爲了測試這個概念,我創建了一個地圖,並增加了ArcGISTiledMapServiceLayer

var tiled = new ArcGISTiledMapServiceLayer('http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer'); 

接下來,我會刪除該層並添加ArcGISImageServiceLayer刺激變化底圖行動

var image = new ArcGISImageServiceLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Toronto/ImageServer", { 
    imageServiceParameters: params, 
    opacity: 0.75 
}); 

我實現是在這些[添加平鋪,刪除平鋪,添加圖像]動作,沒有圖層將被渲染

我測試的其他情形,這些都是結果:

1) If I do not remove the tiled layer, both layers get rendered 
2) If I add only image layer, image layer get rendered 
3) If I add only tiled layer, tiled layer get rendered 

。你們有什麼建議,爲什麼我無法執行刪除層動作?

爲了使這個問題可以理解,我創建了一個可以說明我的情況的示例小提琴。只需刪除小提琴中的removeLayer註釋並運行它。你會注意到,沒有任何東西會被渲染。

https://jsfiddle.net/82qjh0wg/

回答

0

如果去掉底圖層(這將是您添加到地圖中的第一層,如果你不指定構造函數中的底圖圖層),那麼整個地圖對象將停止渲染。

如果要隱藏底圖圖層,那麼最好的選擇是使用css或create a blank basemap並將底圖更改爲該底圖。

您也可以設置底圖的透明度來隱藏它。

+0

嗨,賴安,感謝您的評論,道歉我沒有更新我的問題,但我已經通過提供一組縮放級別的地圖解決了它。原因在於由於平鋪圖層設置的縮放級別與圖像圖層不兼容,圖層不顯示。 – bryan