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?
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.