sorgu: function () {
var urli = "Sorgulamak istediğimiz katmanın url uzantısını buraya yazıyorsunuz";
var qParams = new esri.tasks.Query();
qParams.returnGeometry = false;//geometrik bir sorgu yaptığımızda burası true olacak
//yukarısı true olursa;
//qParams.geometry=geometrisiz alınan değeri buraya işleyebilirsiniz. Mesela haritaya tıklayınca aldığınız koordinatı yazarsanız tıkladığınız yerdeki sorguyu çeker.
qParams.outFields = ["BOLGE_ADI", "ISLETME_ADI"];//katmandan herşey gelsin derseniz buraya "*" şeklinde yazın.
qParams.where = '1=1'; //Şartımız ISLETME_ADI =="Bilecik"...gibi istediğiniz şarta göre yazabilirsiniz
qParams.outSpatialReference = this.map.spatialReference; //Burda haritada varsaydığımız spatialReference verdik
var task = new esri.tasks.QueryTask(urli);
task.execute(qParams, dojo.hitch(this, this.onIsletmeAra)) //dojo üzerinden gittiğim için bu şekilde oldu. normalde task.execute(qParams, gidilecekmetod) yeterli olacaktır.
},
onIsletmeAra: function (featureSeti) {
var fi;
var valuesi = [];
var valuesii = [];
for (var i = 0; i < featureSeti.features.length; i++) { //sorguda feature sayısı kadar yani katmandaki veri sayısı kadar dönecek
fi = featureSeti.features[i];
valuesi.push({ iname: fi.attributes.ISLETME_ADI }); // İşletme adlarını alıp valuesi diye tanımladığımız diziye yazacak
valuesii.push({ bname: fi.attributes.BOLGE_ADI })
......artık dizideki verileri nerde göstermek isterseniz kodlamanıza ona göre devam edebilirsiniz.Ben hepsini comboxa işlediğim için şu şekilde devam ettim:
var dataItemsi = {
identifier: 'iname',
items: valuesi
};
var storei = new dojo.data.ItemFileReadStore({
data: dataItemsi
});
this.widgets.cbos.store = storei;//cbos combomuza oluştururken verdiğimiz isim.
this.widgets.cbos.searchAttr = "iname";
},
},
Hiç yorum yok:
Yorum Gönder