var myGra:ArrayCollection = myGraphicsLayer.myGra as ArrayCollection; var myGraExt:Extent = GraphicUtil.getGraphicsExtent(myGra.toArray()); myMap.extent = myGraExt.expand(2.4);
private function doFind():void { var FindParams:FindParameters = new FindParameters(); FindParams.contains = true; FindParams.layerIds = [0]; FindParams.outSpatialReference = myMap.spatialReference; FindParams.returnGeometry = true; FindParams.searchFields = ["*"]; FindParams.searchText = findTxt.text; findTask.execute(FindParams); // <!-- Find Tasks --> <esri:FindTask id="findTask" showBusyCursor="true" executeComplete="{findHandler(event);}" url="rest/api/server..."/>
private function findHandler(event:FindEvent):void { myGraphicsLayer.clear(); //resultSummary.text = "Results found: " + event.findResults.length; myGraphicsLayer.symbol = sfsFind; var resultCount:int = event.findResults.length; if (resultCount == 0) { Alert.show("Search not found. \nPlease select the correct \nradio button and retry!"); } else { var myFeatures:ArrayCollection = new ArrayCollection(); for(var k:int=0; k < resultCount; k++){ var cntr2:Number = (k+1); bottomPanel.title = "Length of features : " + resultCount.toString(); myFeatures.addItem( { COUNT: cntr2, YEAR_BUILT: FindResult(event.findResults).feature.attributes.YEAR_BUILT, UKEY: FindResult(event.findResults).feature.attributes.UKEY, ADDRESS1: FindResult(event.findResults).feature.attributes.ADDRESS1 } ); myGrid.visible = true; myGrid.dataProvider = myFeatures; } <mx:DataGrid id="myGrid" visible="false" width="100%" color="0x006699" itemClick="myGrid_itemClick(event)" editable="false"> <mx:columns> <mx:DataGridColumn width="40" dataField="COUNT" headerText="#"/> <mx:DataGridColumn width="45" dataField="YEAR_BUILT" headerText="Year"/> <mx:DataGridColumn width="45" dataField="UKEY" headerText="Key"/> <mx:DataGridColumn dataField="ADDRESS1" headerText="City Name"/> </mx:columns> </mx:DataGrid>
private function myGrid_itemClick(event:ListEvent):void { if(event.columnIndex >= 0){ var graphicProvider:ArrayCollection = myGraphicsLayer.graphicProvider as ArrayCollection; var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(graphicProvider.toArray()); myMap.extent = graphicsExtent.expand(2.4); myGraphicsLayer.symbol = smsFind; } }
for each(var feature:Graphic in queryTask.executeLastResult.features) { if(feature.attributes.ID== event.itemRenderer.data.ID) { myMap.extent = feature.geometry.extent; } }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.