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?
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.