David, Yahoo's site has several examples. There has only been one or two threads on this in the last year or more and none of them deal exactly with what you are doing.
David, Google "Yahoo Astra"
David, The rest service directory that the LayerDetails is getting the extent info from does not know about any layer definitions that you have applied (as those are client side).To do what you are trying to do you need to query the map service using your same layer definition query and then get the graphics extent, like thisvar graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features); if (graphicsExtent) { map.extent = graphicsExtent; }
var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features); if (graphicsExtent) { map.extent = graphicsExtent; }
Thanks for your help. I've got it working nowHere's just some little example hacked up code I got going just to test it out public function zoomToLayerExtent(layerID:int, layer:ArcGISDynamicMapServiceLayer):void { var responder:IResponder = new Responder(layerDetailsResult, layerDetailsFault); layer.getDetails(layerID,responder); } public function layerDetailsResult(layerDetails:LayerDetails):void { // Handle LayerDetails here. Zoom to layer extent from layerDetails.extent } public function layerDetailsFault():void { // Error code }
public function zoomToLayerExtent(layerID:int, layer:ArcGISDynamicMapServiceLayer):void { var responder:IResponder = new Responder(layerDetailsResult, layerDetailsFault); layer.getDetails(layerID,responder); } public function layerDetailsResult(layerDetails:LayerDetails):void { // Handle LayerDetails here. Zoom to layer extent from layerDetails.extent } public function layerDetailsFault():void { // Error code }
var dLayer:ArcGISDynamicMapServiceLayer = map.getLayer("Map") as ArcGISDynamicMapServiceLayer; var layerDefs:Array = new Array(); var layerStr:String = new String(); layerDefs[0] = "c_edificio='" + txtMessage.text + "'"; layerDefs[1] = ""; layerDefs[2] = ""; layerDefs[3] = ""; dLayer.layerDefinitions = layerDefs; dLayer.refresh(); zoomToLayerExtent(0,dLayer);
Luke, You need to use the LayerDetailshttp://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/com/esri/ags/layers/LayerDetails.html
Hi Luke did u solve this problem?...I have the same too...Thanks,David
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.