arcgis for js柵格圖層疊加(Raster Layer)問題
其實呢,這個問題或許與柵格圖層(Raster Layer)關(guān)系并不十分大,也可能所有類型的圖層都有這個問題,我對arcgis尚不十分了解,目前只在柵格圖層遇到問題,所以先記下來,存疑。
柵格圖層啥問題呢?疊不出來,報錯。
比如,有這么個地圖服務(wù):
然后想直接疊加其中一個子圖層(可見其類型為柵格圖層)。
代碼如下:
var layer = new ArcGISDynamicMapServiceLayer("http://192.168.0.225:6080/arcgis/HN_test/MapServer/1"); map.addLayer(layer);
但這樣必報錯。報”400”錯誤,錯誤提示為:不支持的輸出格式。
Error: Output format not supported.
Code: 400
啥格式?就是 image 格式。arcgis圖層服務(wù)輸出的格式有許多種,詳見這里
但是,如果只訪問圖層服務(wù)的根地址,則圖層可以出來:
var layer = new ArcGISDynamicMapServiceLayer("http://192.168.0.225:6080/arcgis/HN_test/MapServer");//<----------------- 后面沒有“/1” map.addLayer(layer);
真奇怪啊,我疊FeatureLayer的時候,都是直接訪問子圖層,從來不見有什么問題。為什么這里卻不行,無論是用
ArcGISDynamicMapServiceLayer,
ArcGISImageServiceLayer,
RasterLayer
還是
ArcGISTiledMapServiceLayer,
FeatureLayer
都不行。前三個直接報400錯,后兩個沒報錯,但圖層根本出不來。
難道柵格圖層這么特別?
從周六開始,到今天周二,每天都花了時間去搞這個問題,問了兩個高手,但高手沒空,有一個其實是提到問題答案了,但我沒理解,還是搞不出來。這種問題,到百度上搜,根本無從下手,沒有啥代碼提到柵格圖層的(這也證明其實柵格圖層并不需要用什么特別的對象來處理)。
后來偶爾看到網(wǎng)上有篇文章提到訪問地圖服務(wù),控制子圖層,我想起年初剛開始搞arcgis時,自己好像也抄過類似的代碼,用于顯示或隱藏不同的圖層。翻出來一看,果然啊,圖層對象有個layerInfos的屬性,這里面就是其所有子圖層的列表。所有,不僅僅是兒子,還包括孫子及后代。但這個layerInfos加載需要一定的過程,一般在圖層加載完畢的事件中才開始訪問。
修改代碼,圖像終于出來了。
處理過程如下:
1、構(gòu)建動態(tài)切片圖層對象
var layer = new ArcGISDynamicMapServiceLayer(http://192.168.0.225:6080/arcgis/rest/services/HN_test/MapServer);
2、該圖層對象加載完畢后設(shè)置子圖層可見屬性
if (layer.loaded) { buildSubLayerList(layer); } else { dojo.connect(layer, "onLoad", buildSubLayerList); } function buildSubLayerList(layer) { var visible = []; dojo.map(layer.layerInfos,function (info, index) { if(符合條件) visible.push(info.id); }); map.addLayer(layer);//萬事俱備,至此方才將圖層添加到地圖 }
總結(jié)
以上所述是小編給大家介紹的arcgis for js柵格圖層疊加(Raster Layer),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于Ionic3實現(xiàn)選項卡切換并重新加載echarts
這篇文章主要介紹了基于Ionic3實現(xiàn)選項卡切換并重新加載echarts,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09layui 監(jiān)聽select選擇 獲取當前select的ID名稱方法
今天小編就為大家分享一篇layui 監(jiān)聽select選擇 獲取當前select的ID名稱方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09WordPress中利用AJAX技術(shù)進行評論提交的實現(xiàn)示例
這篇文章主要介紹了WordPress中利用AJAX技術(shù)進行評論提交的實現(xiàn)示例,整個處理的關(guān)鍵點在于文中的ajax_comment函數(shù),需要的朋友可以參考下2016-01-01js+for循環(huán)實現(xiàn)字符串自動轉(zhuǎn)義的代碼(把后面的字符替換前面的字符)
這段代碼是從網(wǎng)上看到的一段不錯的代碼,用for命令實現(xiàn)字符串的轉(zhuǎn)移,而且使用的是for循環(huán)直接將后面的字符替換成前面的字符,這個邏輯以前沒試過2020-12-12