2014-01-08 47 views

回答

0

可以使用ArcGISTiledMapService層添加柵格圖層到地圖,例如:

// assuming 'map' is a reference to your map 
map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer("http://ags.servirlabs.net/ArcGIS/rest/services/ReferenceNode/TRMM_30DAY/MapServer")); 

有關於在ArcGIS的JavaScript API的網站在這裏一些很好的例子:

https://developers.arcgis.com/en/javascript/jssamples/#tiled_layers

一需要注意的是,如果平鋪圖層使用相同的空間參考,則只能將平鋪圖層添加到地圖中。您無法將圖層添加爲具有不同空間參考的平鋪圖層,因爲它已使用空間參考生成了圖塊緩存。您可以將圖層添加爲動態圖層以重新投影。

+0

謝謝西蒙你的快速回復,但你的方法不適合我。在這裏,我使用了您提供的鏈接,並將MapService網址替換爲我的網址並託管在[jsfiddle]上(http://jsfiddle.net/4DCjL/2/)。柵格圖層不顯示:( – Beakal

+0

我建議複製其中一個鏈接到ESRI站點的平鋪樣本,例如:https://developers.arcgis.com/en/javascript/jssamples/layers_ags_tiled .html創建一個新頁面並按照原樣粘貼代碼運行它並且它應該可以工作然後用你的URL代替esri tiled層的URL它應該可以工作如果沒有,這個服務有問題,假設它可以工作,看看這個頁面上的代碼(只有幾行代碼),並確保你將它傳送到你的項目中,確保你得到正確的require語句來加載模塊。 – Kate

+0

這就是正是我所做的複製和粘貼示例代碼並替換了服務url,但沒有運氣。最後,我能夠通過** DynamicLayer **進行此項工作 - >只有DynamicLayer才能讓我渲染柵格圖層,這要感謝您在你之前的回答中提到它,另外一個在論壇上的傢伙也建議我e ** ArcGISDynamicMapServiceLayer **,它在[jsfiddle](http://jsfiddle.net/JSkinn3/KmrGd/)上可以看到完美的效果。 – Beakal

1

如何添加地圖服務層取決於服務是否被緩存。在瀏覽器中查看http://ags.servirlabs.net/ArcGIS/rest/services/ReferenceNode/TRMM_30DAY/MapServer,看到以下內容:

單一融合的地圖緩存:假

,因爲它不是緩存,您必須使用ArcGISDynamicMapServiceLayer,不ArcGISTiledMapServiceLayer。如果它被緩存了,你可以使用任何一個。

map.addLayer(new esri.layers.ArcGISDynamicMapServiceLayer(
    "http://ags.servirlabs.net/ArcGIS/rest/services/ReferenceNode/TRMM_30DAY/MapServer")); 

需要注意的是,如果你有與它多層的服務,你想只顯示其中的一個子集,您可以創建一個ArcGISDynamicMapServiceLayer,然後利用其setVisibleLayers方法來設置該圖層應該是可見的。在這種情況下,你不需要擔心它,因爲你的地圖只有一層。

相關問題