Saya menambahkan Layanan Peta Dinamis ke peta API JavaScript Server ArcGIS, dan saya perlu menghubungi setiap lapisan komponen dan bidangnya, sehingga saya dapat menjalankan kueri.
Lihat contoh direktori layanan Server ArcGIS di http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer
Jika Anda membuka URL ini di browser Anda dapat melihat daftar lapisan yang tersedia (0,1,2) dan bidang masing-masing lapisan .
Bagaimana saya bisa mengambil daftar bidang secara programatik, dalam fungsi JavaScript? Cuplikan kode di bawah ini menunjukkan cara mengambil titik akhir layer, tapi saya tidak bisa melihat cara membuka bidang.
(Salah satu opsi adalah menambahkan layer sebagai Feature Layers, tapi saya lebih suka menghindari ini jika memungkinkan).
var url = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer/";
var dynLayer = new esri.layers.ArcGISDynamicMapServiceLayer(url);
map.addLayer(dynLayer);
dojo.connect(dynLayer, "onLoad", function() {
var infos = dynLayer.layerInfos;
for (var i = 0; i <= infos.length - 1; i++) {
var layerId = infos[i].id;
var restEndPoint = url + layerId;
//restEndPoint is the layer's URL - how can I retrieve its fields?
}
});
Terima kasih, Steve (diposting silang ke forum ArcGIS Server )
sumber
Saya mungkin memiliki ujung tongkat yang salah di sini, tetapi tidakkah Anda hanya melakukan kueri pada layer yang dimaksud dan mendapatkan hasilnya kembali sebagai resultset? Jika Anda memintanya dalam json, Anda dapat menguraikan hasilnya?
Jadi untuk ini:
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/1/query?where=STATE_NAME%3D%27Florida%27&f=json
Pengembaliannya adalah:
{"displayFieldName": "STATE_NAME", "fieldAliases": {"STATE_NAME": "STATE_NAME"}, "geometryType": "esriGeometryPolygon", "spatialReference": {"wkid": 4326}, "{" "" nama ":" STATE_NAME "," ketik ":" esriFieldTypeString "," alias ":" STATE_NAME "," length ": 25}]," fitur ": [{" atribut ": {" STATE_NAME ":" Florida "} , "geometri": {"dering": [[[- 80.785662408630856,28.785194039580265], ... [-80.5878197219821, 24.956376399079556], [- 80.249453677873134,25.354937642313288]]}}
(Saya telah menghapus sebagian besar geometri untuk membuatnya lebih mudah dibaca)
sumber