1. 程式人生 > >arcgis for js 通用氣泡

arcgis for js 通用氣泡

var infoTemplate = new InfoTemplate("Attributes", "${*}");

arcgis for js中,氣泡(InfoTemplate)裡的內容一般是定製的,裡面要顯示哪些欄位,格式如何,都可以定製。
但如果事先不知道每個圖層有哪些欄位呢,怎麼展示?
辦法就是全部展示,氣泡中展示所有欄位內容。
如何展示所有欄位內容?
方法就是文章開頭第一句。
什麼場景試用這種耍潑的做法?
圖層太多的情況。眾所周知,arcgis for js中,動態圖層(ArcGISDynamicMapServiceLayer)是一個圖層集合,載入的時候所有子圖層一股腦地全部載入進來。如果一個系統,又有好多個這種動態圖層,那麼圖層數量就非常大了。子子孫孫,無窮匱也。如果每個子圖層,都定義一下,工作量挺大。
所以,簡單的一刀切辦法就是有啥欄位我照單全收,全部顯示。完整程式碼如下:

var layer = new ArcGISDynamicMapServiceLayer("圖層地址");
var sublayerId = 子圖層ID;
var templates = {};
var t = new InfoTemplate("子圖層名稱", "${*}");
templates[sublayerId + ""] = { infoTemplate: t };
layer.setInfoTemplates(templates);//