//Create IdentifyTask object
userConfig.identifyTask = new esri.tasks.IdentifyTask(currentServiceUrl);
//Create and setup IdentifyParameters
userConfig.identifyParams = new esri.tasks.IdentifyParameters();
userConfig.identifyParams.height = userConfig.map.height;
userConfig.identifyParams.width = userConfig.map.width;
userConfig.identifyParams.mapExtent = userConfig.map.extent;
userConfig.identifyParams.tolerance = 3;
userConfig.identifyParams.returnGeometry = true;
//Define the layers to identify
var layersToId = [];
if (currentUtilId == "barksdale") {
var layers = userConfig.barksdaleService.visibleLayers;
for (var i = 0; i < layers.length; i++) {
if (layers != 27 && layers != 40 && layers != 82) {
layersToId.push(layers);
}
} //End loop
}
else if (currentUtilId == "malmstrom") {
var layers = userConfig.malmstromService.visibleLayers;
for (var i = 0; i < layers.length; i++) {
if (layers != 27 && layers != 40 && layers != 82) {
layersToId.push(layers);
}
} //End loop
}
else if (currentUtilId == "minot") {
var layers = userConfig.minotService.visibleLayers;
for (var i = 0; i < layers.length; i++) {
if (layers != 27 && layers != 40 && layers != 82) {
layersToId.push(layers);
}
} //End loop
}
else if (currentUtilId == "whiteman") {
var layers = userConfig.whitemanService.visibleLayers;
for (var i = 0; i < layers.length; i++) {
if (layers != 27 && layers != 40 && layers != 82) {
layersToId.push(layers);
}
} //End loop
}
else if (currentUtilId == "warren") {
var layers = userConfig.warrenService.visibleLayers;
for (var i = 0; i < layers.length; i++) {
if (layers != 27 && layers != 40 && layers != 82) {
layersToId.push(layers);
}
} //End loop
}
userConfig.identifyParams.layerIds = layersToId;
userConfig.identifyParams.geometry = evt.mapPoint;
var deferred = userConfig.identifyTask.execute(userConfig.identifyParams);
deferred.addCallback(function (response) {
// Response is array of identify result objects
// Return an array of features.
return dojo.map(response, function (result) {
var feature = result.feature;
var attribution = feature.attributes;
var infoTemplate = new esri.InfoTemplate();
var templateString = "";
//Parse and print the key-value pairs in the attribution object
for (prop in attribution) {
templateString = templateString + "<b>" + prop + "</b>: " + attribution[prop] + "<br>";
}
infoTemplate.setTitle("Identify Results");
infoTemplate.setContent(templateString);
feature.setInfoTemplate(infoTemplate);
return feature;
});
});
userConfig.map.infoWindow.setFeatures([deferred]);
userConfig.map.infoWindow.show(evt.mapPoint);map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
var evtCopy = evt;
userConfig.identifyTask.execute(userConfig.identifyParams, function(response) {
// Response is array of identify result objects
// Return an array of features.
var features = dojo.map(response, function (result) {
var feature = result.feature;
var attribution = feature.attributes;
var infoTemplate = new esri.InfoTemplate();
var templateString = "";
//Parse and print the key-value pairs in the attribution object
for (prop in attribution) {
templateString = templateString + "<b>" + prop + "</b>: " + attribution[prop] + "<br>";
}
infoTemplate.setTitle("Identify Results");
infoTemplate.setContent(templateString);
feature.setInfoTemplate(infoTemplate);
return feature;
});
userConfig.map.infoWindow.setFeatures(features);
userConfig.map.infoWindow.show(evtCopy.mapPoint);
});