arcgis for js柵格圖層疊加(Raster Layer)問題
其實(shí)呢,這個(gè)問題或許與柵格圖層(Raster Layer)關(guān)系并不十分大,也可能所有類型的圖層都有這個(gè)問題,我對(duì)arcgis尚不十分了解,目前只在柵格圖層遇到問題,所以先記下來,存疑。
柵格圖層啥問題呢?疊不出來,報(bào)錯(cuò)。
比如,有這么個(gè)地圖服務(wù):

然后想直接疊加其中一個(gè)子圖層(可見其類型為柵格圖層)。

代碼如下:
var layer = new ArcGISDynamicMapServiceLayer("http://192.168.0.225:6080/arcgis/HN_test/MapServer/1");
map.addLayer(layer);
但這樣必報(bào)錯(cuò)。報(bào)”400”錯(cuò)誤,錯(cuò)誤提示為:不支持的輸出格式。
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的時(shí)候,都是直接訪問子圖層,從來不見有什么問題。為什么這里卻不行,無論是用
ArcGISDynamicMapServiceLayer,
ArcGISImageServiceLayer,
RasterLayer
還是
ArcGISTiledMapServiceLayer,
FeatureLayer
都不行。前三個(gè)直接報(bào)400錯(cuò),后兩個(gè)沒報(bào)錯(cuò),但圖層根本出不來。
難道柵格圖層這么特別?
從周六開始,到今天周二,每天都花了時(shí)間去搞這個(gè)問題,問了兩個(gè)高手,但高手沒空,有一個(gè)其實(shí)是提到問題答案了,但我沒理解,還是搞不出來。這種問題,到百度上搜,根本無從下手,沒有啥代碼提到柵格圖層的(這也證明其實(shí)柵格圖層并不需要用什么特別的對(duì)象來處理)。
后來偶爾看到網(wǎng)上有篇文章提到訪問地圖服務(wù),控制子圖層,我想起年初剛開始搞arcgis時(shí),自己好像也抄過類似的代碼,用于顯示或隱藏不同的圖層。翻出來一看,果然啊,圖層對(duì)象有個(gè)layerInfos的屬性,這里面就是其所有子圖層的列表。所有,不僅僅是兒子,還包括孫子及后代。但這個(gè)layerInfos加載需要一定的過程,一般在圖層加載完畢的事件中才開始訪問。
修改代碼,圖像終于出來了。

處理過程如下:
1、構(gòu)建動(dòng)態(tài)切片圖層對(duì)象
var layer = new ArcGISDynamicMapServiceLayer(http://192.168.0.225:6080/arcgis/rest/services/HN_test/MapServer);
2、該圖層對(duì)象加載完畢后設(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),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
js實(shí)現(xiàn)將選中內(nèi)容分享到新浪或騰訊微博
這篇文章主要介紹了js實(shí)現(xiàn)將選中內(nèi)容分享到新浪或騰訊微博,需要的朋友可以參考下2015-12-12
onmouseover事件和onmouseout事件全面理解
最近兩天在溫習(xí)onmouseover事件和onmouseout事件,其實(shí)里面有很多深?yuàn)W的知識(shí),接下來小編給大家?guī)砹薿nmouseover事件和onmouseout事件全面了解,感興趣的朋友一起看下2016-08-08
JavaScript獲取系統(tǒng)自帶的顏色選擇器功能(圖)
JavaScript獲取系統(tǒng)自帶的顏色選擇器功能,這個(gè)是針對(duì)IE瀏覽器,所以大家如果想用兼容性更好的代碼,可以查看腳本之家的相關(guān)文章。2010-08-08
JS實(shí)現(xiàn)鼠標(biāo)箭頭變成一個(gè)燃燒燭光效果的方法
這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)箭頭變成一個(gè)燃燒燭光效果的方法,實(shí)例分析了javascript操作鼠標(biāo)事件及圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
JavaScript中Form表單技術(shù)匯總(推薦)
這篇文章主要介紹了JavaScript中Form表單技術(shù)的相關(guān)資料,包括簡(jiǎn)單的表單驗(yàn)證和正則表達(dá)式驗(yàn)證,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
Javascript獲取統(tǒng)一管理的提示語(message)
這篇文章主要介紹了Javascript獲取統(tǒng)一管理的提示語(message)的相關(guān)資料,需要的朋友可以參考下2016-02-02
Event altKey,ctrlKey,shiftKey屬性解析
本篇文章主要是對(duì)Event altKey,ctrlKey,shiftKey屬性解析了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12

