var map = new esri.Map("map", { extent: esri.geometry.geographicToWebMercator(initialExtent), slider: true, nav: false });         dojo.connect(map, "onLoad", initSelectToolbar);            var baseMapLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");         map.addLayer(baseMapLayer);      //Add regional summation data   var content = "<b>Region</b>: ${Region_1}" +                         "<br><b>Value USD(Millions)</b>: ${SUM_MAX_TotalAmt}" +                         "<br><b>Number of Projects</b>: ${SUM_COUNT_ProjectID}";   var infoTemplate = new esri.InfoTemplate("${FIELD_NAME}", content);     featureLayer = new esri.layers.FeatureLayer("http://maps4.arcgisonline.com/ArcGIS/rest/services/World_Bank/WB_World_Bank_Projects/MapServer/1",{           mode: esri.layers.FeatureLayer.MODE_ONDEMAND,           infoTemplate: infoTemplate,     outFields: ["*"]             });  map.addLayer(featureLayer);Solved! Go to Solution.
Use a dynamic map service layer. You can control individual layer visibility with setVisibileLayers.
function init() {
        //use the info window instead of the popup 
        var infoWindow = new esri.dijit.InfoWindow(null, dojo.create("div"));
        infoWindow.startup();
  
  //var bbox = new Extent({"xmin":-7600182.13249805,"ymin":-446969.667305208,"xmax":2866021.96822699,"ymax":5458542.14371841,"spatialReference":{"wkid":102039}});
  
  map = new esri.Map("map", {
    //extent: bbox,
          basemap: "streets",
          center: [-96, 37],
          infoWindow: infoWindow,
          zoom: 4
        });
 
  
  
        var template = new esri.InfoTemplate();
        //flag icons are from http://twitter.com/thefella, released under creative commons
        template.setTitle("Store <b>${StoreNum}</b>");
        template.setContent(getWindowContent);
        //create a renderer for the stores layer to override default symbology
  var storeSymbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE,9,new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,new dojo.Color([0,0,0]), .5),new dojo.Color([0,92,230]));
  var storeRenderer = new SimpleRenderer(storeSymbol);
  //create a feature layer to show store points
  //var storesLayer = new esri.layers.FeatureLayer("http://gis-server.greatriv.com/ArcGIS/rest/services/ShamrockMktg/StoreLocations/MapServer/0", {
          var storesURL = "http://gis-server.greatriv.com/ArcGIS/rest/services/ShamrockMktg/StoreLocations/MapServer/0";
    var stores = new FeatureLayer(storesURL, {
    mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
          outFields: ["*"],
    id: "stores",
    infoTemplate: template,
        });
  var labelField = "StoreNum";
  stores.setRenderer(storeRenderer);      
        map.addLayer(stores);
  map.infoWindow.resize(675, 475);
  
  //create a text symbol to define the style of labels
  var storesColor = new Color("#666");
  var storesLabel = new TextSymbol().setColor(storesColor);
  storesLabel.font.setSize("8pt");
  storesLabel.font.setFamily("arial");
  storesLabelRenderer = new SimpleRenderer(storesLabel);
  var labels = new LabelLayer({id: "labels" });
  //tell the label layer to label the stores feature layer
  //using the field named "StoreNum"
  labels.addFeatureLayer(stores, storesLabelRenderer, "${" + labelField + "}");
  //add the label layer to the map
  map.addLayer(labels);        
 
 }add option
showLabels: true
for map constructor
same as
map = new Map("map", { extent: bbox, showLabels : true //very important that this must be set to true! });