private var mapLayer:ArcGISDynamicMapServiceLayer; for(var i:int = 0; i<map.layers.length; i++) { if(map.layers is com.esri.ags.layers.ArcGISDynamicMapServiceLayer) { mapLayer = map.layers; mapLayer.layerDrawingOptions = []; } } private function onLabelButtonClick(layerID:Number, show:Boolean):void { var myDrawOptions:LayerDrawingOptions = new LayerDrawingOptions(); myDrawOptions.showLabels = show; myDrawOptions.layerId = layerId; mapLayer.layerDrawingOptions.push(myDrawOptions); mapLayer.refresh(); }Solved! Go to Solution.
How can I get at the labeling info that's being exposed via rest?
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:esri="http://www.esri.com/2008/ags"> <esri:Map> <esri:ArcGISDynamicMapServiceLayer url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/MapServer"> <esri:layerDrawingOptions> <esri:LayerDrawingOptions layerId="1" showLabels="false"/> </esri:layerDrawingOptions> </esri:ArcGISDynamicMapServiceLayer> </esri:Map> </s:Application>
var JaSONTask:JSONTask = new JSONTask(usaMapServiceLayer.url);
var urlVariables:URLVariables = new URLVariables("f=pjson");
JaSONTask.execute(urlVariables, new AsyncResponder(result,fail));
function result(event:Object, token:Object = null):void
{
var result:Object = event;
}
function fail(event:FaultEvent):void
{
Alert.show(event.message.toString());
}