protected function MainMap_mapClickHandler(event:MapMouseEvent):void { var identifyParams:IdentifyParameters = new IdentifyParameters(); var clickGraphic:Graphic = new Graphic(event.mapPoint, clickPointSymbol); identifyParams.returnGeometry = true; identifyParams.tolerance = 5; identifyParams.width = MainMap.width; identifyParams.height = MainMap.height; identifyParams.geometry = event.mapPoint; identifyParams.mapExtent = MainMap.extent; identifyParams.spatialReference = MainMap.spatialReference; identifyParams.layerIds = layerLIS.visibleLayers.source; identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL; clickGraphicsLayer.clear(); MainMap.infoWindow.hide(); graphicsLayer.clear(); cursorManager.setBusyCursor(); identifyTask.url = layerLIS.url; identifyTask.execute(identifyParams, new AsyncResponder(resultFunction, faultFunction, clickGraphic)); function resultFunction(results:Array, clickGraphic:Graphic):void { var myInfoRenderer:InfoRenderer = new InfoRenderer; var mapPoint:MapPoint = MapPoint(clickGraphic.geometry); var point:Point = MainMap.toScreen(mapPoint); if (results && results.length > 0) { var oldLayer:Number = -1; var resultsArray:Array = []; var result:IdentifyResult; var resultGraphic:Graphic; var tab:TabNavigator = new TabNavigator(); var newVBox:VBox = new VBox; var newVBoxDG:VBox = new VBox; var newText:Text = new Text; var newDG:DataGrid = new DataGrid; var graphic:Graphic; clickGraphicsLayer.add(clickGraphic); result = results[0]; oldLayer = result.layerId; resultsArray.push(result.feature.attributes); newText = new Text; newText.text = result.layerName; graphic = result.feature; graphic.alpha = 0.3; graphicsLayer.add(graphic); tab.width = 400; tab.height = 230; for (var i:int = 1; i < results.length; i++) { result = results; graphic = new Graphic; graphic = result.feature; graphic.alpha = 0.3; graphicsLayer.add(graphic); if (result.layerId == oldLayer) { resultsArray.push(result.feature.attributes); } else { newDG = new DataGrid; newVBox = new VBox; newDG.dataProvider = resultsArray; if (!(result.feature.attributes.source == undefined)) { for each (var dgCol:DataGridColumn in newDG.columns) { if (dgCol.dataField == "Source") { dgCol.itemRenderer = new ClassFactory(HyperLinkField); } } } newDG.addEventListener(ListEvent.ITEM_CLICK, newDG_ItemRollOver, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OUT, newDG_ItemRollOut, false, 0 ,true); newDG.addEventListener(ListEvent.ITEM_ROLL_OVER, newDG_ItemRollOver, false, 0, true); newVBox.addElement(newText); newVBox.addElement(newDG); // newVBox.addElement(newVBoxDG); newVBox.label = oldLayer.toString(); newVBox.label = oldLayer.toString(); tab.addElement(newVBox); myInfoRenderer.addElement(tab); newText = new Text; newText.text = result.layerName; resultsArray = []; resultsArray.push(result.feature.attributes); } oldLayer = result.layerId; } newVBox = new VBox; newVBoxDG = new VBox; newDG = new DataGrid; newDG.addEventListener(ListEvent.ITEM_CLICK, newDG_ItemRollOver, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OUT, newDG_ItemRollOut, false, 0, true); newDG.addEventListener(ListEvent.ITEM_ROLL_OVER, newDG_ItemRollOver, false, 0, true); newVBox.addElement(newText); newDG.dataProvider = resultsArray; if (!(results[0].feature.attributes.Source == undefined)) { for each (var dgCol:DataGridColumn in newDG.columns) { if (dgCol.dataField == "Source") { dgCol.itemRenderer = new ClassFactory(HyperLinkField); } } } newVBox.addElement(newDG); // newVBoxDG.addElement(newDG); // newVBox.addElement(newVBoxDG); newVBox.label = oldLayer.toString(); tab.addElement(newVBox); myInfoRenderer.addElement(tab); cursorManager.removeBusyCursor(); MainMap.infoWindow.content = myInfoRenderer; MainMap.infoWindow.label = "Results"; MainMap.infoWindow.show(MainMap.toMap(point)); MainMap.infoWindow.addEventListener(Event.CLOSE, infoWindow_Close, false, 0, true); } } }
Does the ArcGIS API for Flex support tabbed pop-up windows?
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.