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()); }