var map = new esri.Map(mapPaneId, {
logo: false
});
// more code ...
if (config && config.dynamicLayerServices && config.dynamicLayerServices[0]) {
hasDynamicServices = true;
var layerCount = config.dynamicLayerServices.length;
var layers = new Array();
var layerInfos = new Array();
for (var i = 0; i < layerCount; i++) {
var layer = new esri.layers.ArcGISDynamicMapServiceLayer(config.dynamicLayerServices.url);
var layerName = config.dynamicLayerServices.name;
if (config.dynamicLayerServices.opacity) {
layer.setOpacity(config.dynamicLayerServices.opacity);
}
layers.push(layer);
layerInfos.push({ layer: layer, title: config.dynamicLayerServices.name, id: config.dynamicLayerServices.id });
dojo.connect(layer, "onUpdate", hideLoadingIndicator);
dojo.connect(layer, "onError", function(err) {
console.log("Error retrieving the layer '" + layerName + "': " + err.message);
//alert("Error retrieving the layer '" + layerName + "': " + err.message);
});
}
dojo.connect(map, 'onLayersAddResult', function(results) {
// THIS IS NOT FIRING WHEN 2 MAPS HAVE THE SAME LAYER
// -- EVEN IF THE LAYER ID IS DIFFERENT
if (!config.hideToolbar) {
initLayersDialog(layersDialog, map, layerInfos);
initLegendDialog(legendDialog, map, layerInfos);
initIdentifyTasks(div, map, config.dynamicLayerServices);
}
connectGridsToMap(div, map);
});
map.addLayers(layers);