No problem, the code is below:
I sanitized the "domain" below but could provide that privately.
// first layer does not work
var cities0surl = "http://domain/arcgis/rest/services/Mapping/CitiesWebMap/MapServer/0";
var cities1surl = "http://domain/arcgis/rest/services/Mapping/CitiesWebMap/MapServer/1";
// This was displaying as 'undefined' - commented out, copied, pasted and changed 0 to 1 (below)
//var cities0FeatureLayer = new FeatureLayer(cities0surl, {
// id: "cities0FeatureLayer",
// maxScale: 1000000,
// minScale: 3000000,
// outfields: ["AREANAME"],
// visible: false
//});
// this layer works with the same features that had been in layer 0, I modified the map service by adding // an artificial layer on top - and that now shows the 'undefined' label but I don't use it
var cities1FeatureLayer = new FeatureLayer(cities1surl, {
id: "cities1FeatureLayer",
maxScale: 1000000,
minScale: 3000000,
outFields: ["AREANAME"],
visible: false
});
// adding to map
//map.addLayer(cities0FeatureLayer);
map.addLayer(cities1FeatureLayer);
// LABELS
//-----------------------------------------------------------------------------------------------------------------//
// create a renderer for the states layer to override default symbology
var labelColor = new Color("#000000");
// create a text symbol to define the style of labels
var statesLabel = new TextSymbol().setColor(labelColor);
statesLabel.setAlign(TextSymbol.ALIGN_START);
statesLabel.font.setSize("0.8em");
statesLabel.font.setFamily("tahoma");
statesLabel.font.setWeight("BOLD");
var statesLabelRenderer = new SimpleRenderer(statesLabel);
var labels = new LabelLayer({ id: "labels" });
// using the field named "AREANAME"
//labels.addFeatureLayer(cities0FeatureLayer, statesLabelRenderer, "{AREANAME}");
labels.addFeatureLayer(cities1FeatureLayer, statesLabelRenderer, "{AREANAME}");
// add the label layer to the map
map.addLayer(labels);
//-----------------------------------------------------------------------------------------------------------------//