Llyod,
No not quite:
function mapReady() {
map.on("click", executeIdentifyTask);
identifyTask = new IdentifyTask(analysisURL);
identifyParams = new IdentifyParameters();
identifyParams.width = map.width;
identifyParams.height = map.height;
identifyParams.returnGeometry = true;
identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
identifyParams.tolerance = 7;
}
function executeIdentifyTask(event) {
identifyParams.geometry = event.mapPoint;
identifyParams.mapExtent = map.extent;
promises = [];
var visArr = analysisLayer.visibleLayers;
var rasterIds = [12,13,14,17,18,19], rindex, visRasters = [];
for(var r=rasterIds.length; r>0; r--){
rindex = visArr.indexOf(rasterIds[r]);
if(rindex > 0){
visArr.splice(rindex, 1);
visRasters.push(rasterIds[r]);
}
}
identifyParams.layerIds = visArr;
promises.push(identifyTask.execute(identifyParams));
if(visRasters.length > 0){
identifyParams.tolerance = 1;
identifyParams.layerIds = visRasters;
promises.push(identifyTask.execute(identifyParams));
}
var iPromises = new all(promises);
iPromises.then(lang.hitch(this, function (r) {
var idResults = [];
arrayUtils.map(r, function(response) {
arrayUtils.map(response, function(result) {
var feature = result.feature;
var layerName = result.layerName;
feature.attributes.layerName = layerName;
var iTemplate;