প্রথমত, একাধিক সনাক্তকরণ কার্য প্রক্রিয়াকরণের জন্য ডিফ্রেডলিস্ট ব্যবহার করার ধারণাটি দেখানোর জন্য এখানে সরলিকৃত জাভাস্ক্রিপ্ট এপিআই উদাহরণ রয়েছে:
//Assume that map is your map object
var idTask1, idTask2, idParams = new esri.tasks.IdentifyParameters();
var url1 = "<server1 url>", var url2 = "<server2 url>";
dojo.connect(map, "onLoad", initIdentifies);
function initIdentifies(map) { //map.onLoad passes in the map object
idTask1 = new esri.tasks.IdentifyTask(url1);
idTask2 = new esri.tasks.IdentifyTask(url2);
//A few sample constant parameters. Set more or less as you need
idParams.tolerance = 12;
idParams.returnGeometry = true;
idParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
dojo.connect(map, "onClick", runIdentifies);
}
function runIdentifies(evt) {
var defTask1 = new dojo.Deferred(), defTask2 = new dojo.Deferred;
var dlTasks = new dojo.DeferredList([defTask1, defTask2]);
dlTasks.then(showResults); //defTasks will fire after defTask1 and defTask2 have completed
//These parameters change with each request
idParams.width = map.width;
idParams.height = map.height;
idParams.geometry = evt.mapPoint;
idParams.mapExtent = map.extent;
try {
idTask1.execute(idParams, defTask1.callback, defTask1.errback); //Pass the response into the callback on defTask1
} catch (e) {
console.log("Error caught");
console.log(e);
defTask1.errback(e); //If you get an error, execute the errback
}
try {
idTask2.execute(idParams, defTask2.callback, defTask2.errback); //Pass the response into the callback on defTask2
} catch (e) {
console.log("Error caught");
console.log(e);
defTask2.errback(e); //If you get an error, execute the errback
}
}
function showResults(r) {
//The format of 'r' is [[Boolean task 1 success, [task 1 results]],[Boolean task 2 success, [task 2 results]]]
//using the array 'r', build and show your infoWindow as normal
}
তারপরে এখানে জেএসফিডেলের একটি উদাহরণ যা আমি মনে করি আপনি যা চান তা করে, মানচিত্রে সমস্ত দৃশ্যমান গতিশীল মানচিত্র স্তরগুলিতে সমস্ত দৃশ্যমান স্তর ব্যবহার করে চালানো হয়।
http://jsfiddle.net/blordcastillo/mULcz/
সমস্ত টাইপগুলি এখন ঠিক করা হয়েছে :)
মূল ধারণাটি হ'ল যখনই মানচিত্রটি ক্লিক করা হয় বা দৃশ্যমানতা টগল করা হয় তখন সনাক্তটি পুনরায় চালু করা হয়। শনাক্তকরণটি চালিত হলে, বহিষ্কারকৃত পরিচয় কার্যের সংখ্যাটি দৃশ্যমান স্তরগুলির সংখ্যার উপর নির্ভর করে এবং সমস্ত স্তর তার ফলাফলগুলি প্রদর্শন করতে ফিরে না আসা পর্যন্ত এটি অপেক্ষা করে।