// create a text symbol to define the style of labels
var statesColor = new Color("#1C8E03");
var statesLabel = new TextSymbol().setColor(statesColor);
statesLabel.font.setSize("9pt");
statesLabel.font.setFamily("微軟雅黑");
//this is the very least of what should be set within the JSON
var json = {
"labelExpressionInfo": {"value": "{NAME}"},
"labelPlacement": "above-along"
};
//Polyline/Line: "above-after", "above-along", "above-before", "above-start", "above-end", "below-after", "below-along", "below-before", "below-start", "below-end", "center-after", "center-along", "center-before", "center-start", "center-end"
//create instance of LabelClass (note: multiple LabelClasses can be passed in as an array)
var labelClass = new LabelClass(json);
labelClass.symbol = statesLabel; // symbol also can be set in LabelClass' json
labelClass.minScale = 150000;
featureLayer.setLabelingInfo([ labelClass ]);