protected function _ClickHandler(clk:MouseEvent):void { var graphic:Graphic = clk.target as Graphic; //reset unselected observationPts to correct symbol for(var n:Number=0;n<observationPts.graphicProvider.length;n++) { observationPts.graphicProvider.symbol = obsPtSym; } graphic.symbol = highlightedSym; showInfoWindow(); }
<esri:PictureMarkerSymbol id="obsPtSym" source="@Embed(source='assets/images/i_pin3_centered.png')" height="30" width="30" /> <esri:SimpleMarkerSymbol id="highlightedSym" alpha="0.9" color="0xFF0000" size="14" style="circle"> <esri:SimpleLineSymbol color="0x000000"/> </esri:SimpleMarkerSymbol>
Solved! Go to Solution.
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags" initialize="initApp()" minWidth="955" minHeight="600"> <fx:Declarations> <esri:PictureMarkerSymbol id="obsPtSym" source="@Embed(source='assets/images/i_pin3_centered.png')" height="30" width="30" /> <esri:SimpleMarkerSymbol id="highlightedSym" alpha="0.9" color="0xFF0000" size="14" style="circle"> <esri:SimpleLineSymbol color="0x000000"/> </esri:SimpleMarkerSymbol> </fx:Declarations> <fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.geometry.MapPoint; protected function _ClickHandler(clk:MouseEvent):void { var graphic:Graphic = clk.currentTarget as Graphic; //reset unselected observationPts to correct symbol for(var n:Number=0;n<observationPts.graphicProvider.length;n++) { observationPts.graphicProvider.symbol = obsPtSym; } graphic.symbol = highlightedSym; //showInfoWindow(); } private function initApp():void { // add 100 random graphics to the GraphicsLayer for (var i:int; i < 100; i++) { var mapX:Number = Math.random() * 40044000 - 20022000; var mapY:Number = Math.random() * 40044000 - 20022000; var attributes:Object = { "ranking": Math.random()}; var graphic:Graphic = new Graphic( new MapPoint(mapX, mapY), null, attributes ); graphic.toolTip = "Ranking: " + Number(graphic.attributes.ranking).toFixed(3); graphic.addEventListener(MouseEvent.CLICK,_ClickHandler); graphic.symbol = obsPtSym; observationPts.add(graphic); } } ]]> </fx:Script> <esri:Map openHandCursorVisible="false"> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:GraphicsLayer id="observationPts" /> </esri:Map> </s:Application>
var graphic:Graphic = clk.currentTarget as Graphic;
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags" initialize="initApp()" minWidth="955" minHeight="600"> <fx:Declarations> <esri:PictureMarkerSymbol id="obsPtSym" source="@Embed(source='assets/images/i_pin3_centered.png')" height="30" width="30" /> <esri:SimpleMarkerSymbol id="highlightedSym" alpha="0.9" color="0xFF0000" size="14" style="circle"> <esri:SimpleLineSymbol color="0x000000"/> </esri:SimpleMarkerSymbol> </fx:Declarations> <fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.geometry.MapPoint; protected function _ClickHandler(clk:MouseEvent):void { var graphic:Graphic = clk.currentTarget as Graphic; //reset unselected observationPts to correct symbol for(var n:Number=0;n<observationPts.graphicProvider.length;n++) { observationPts.graphicProvider.symbol = obsPtSym; } graphic.symbol = highlightedSym; //showInfoWindow(); } private function initApp():void { // add 100 random graphics to the GraphicsLayer for (var i:int; i < 100; i++) { var mapX:Number = Math.random() * 40044000 - 20022000; var mapY:Number = Math.random() * 40044000 - 20022000; var attributes:Object = { "ranking": Math.random()}; var graphic:Graphic = new Graphic( new MapPoint(mapX, mapY), null, attributes ); graphic.toolTip = "Ranking: " + Number(graphic.attributes.ranking).toFixed(3); graphic.addEventListener(MouseEvent.CLICK,_ClickHandler); graphic.symbol = obsPtSym; observationPts.add(graphic); } } ]]> </fx:Script> <esri:Map openHandCursorVisible="false"> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:GraphicsLayer id="observationPts" /> </esri:Map> </s:Application>