I have my map and layers declared below. The map comes up with my 1 graphic in the myGraphicsLocationsLayer. But when I move my mouse over the graphic, my doMyAlert function never fires. The doMyAlert just does an Alert.Show("here"); Am I missing something or doing something wrong.<mx:Canvas id="myPanel" height="100%" width="100%">
<esri:Map id="map" backgroundColor="0xFFFFFF" styleName="myMapStyle" mouseDown="onMouseDown(event);" panUpdate="onMapPanUpdate();" zoomUpdate="onMapZoomUpdate();" extentChange="callLater(onMapExtentChanged);" >
<esri:lods>
<esri:LOD level="0" resolution="0.3515625" scale="147748799.285417" />
<esri:LOD level="1" resolution="0.17578125" scale="73874399.6427087" />
<esri:LOD level="2" resolution="0.087890625" scale="36937199.8213544" />
<esri:LOD level="3" resolution="0.0439453125" scale="18468599.9106772" />
<esri:LOD level="4" resolution="0.02197265625" scale="9234299.95533859" />
<esri:LOD level="5" resolution="0.010986328125" scale="4617149.97766929" />
<esri:LOD level="6" resolution="0.0054931640625" scale="2308574.98883465" />
<esri:LOD level="7" resolution="0.00274658203125" scale="1154287.49441732" />
<esri:LOD level="8" resolution="0.001373291015625" scale="577143.747208662" />
<esri:LOD level="9" resolution="0.0006866455078125" scale="288571.873604331" />
<esri:LOD level="10" resolution="0.00034332275390625" scale="144285.936802165" />
<esri:LOD level="11" resolution="0.000171661376953125" scale="72142.9684010827" />
<esri:LOD level="12" resolution="0.0000858306884765625" scale="36071.4842005414" />
<esri:LOD level="13" resolution="0.0000429153442382813" scale="18035.7421002707" />
<esri:LOD level="14" resolution="0.0000214576721191407" scale="9017.87105013534" />
<esri:LOD level="15" resolution="0.0000107288360595703" scale="4508.93552506767" />
</esri:lods>
<esri:ArcGISDynamicMapServiceLayer id="basemap" url="{_BasemapHost + _BasemapService}" load="onMapServiceLoaded(event)" />
<esri:GraphicsLayer id="myGraphicsColorOverlayLayer" />
<esri:GraphicsLayer id="myGraphicsHatchedOverlayLayer" />
<esri:GraphicsLayer id="myGraphicsRadiusLayer" />
<esri:GraphicsLayer id="myGraphicsHighlightedGeographiesLayer" />
<esri:GraphicsLayer id="myGraphicsSingleLocationLayer" />
<esri:GraphicsLayer id="myGraphicsLocationsLayer">
<esri:Graphic rollOver="doMyAlert()">
<esri:geometry>
<esri:MapPoint x="-87.9747" y="41.6604"/>
</esri:geometry>
</esri:Graphic>
</esri:GraphicsLayer>
<esri:GraphicsLayer id="myGraphicsCompetitionLayer" />
<esri:GraphicsLayer id="myGraphicsSubZipLayer" />
</esri:Map>
</mx:Canvas>
<mx:VBox id="legend" verticalScrollPolicy="auto" horizontalScrollPolicy="off" width="150" right="5" top="25" bottom="5" height="{this.height-30}" maxHeight="{this.height-30}" visible="false" backgroundColor="0xFFFFFF" borderSides="top left right bottom" borderColor="0xc0c0c0" borderThickness="1" fontSize="10">
</mx:VBox>
<mx:Button id="bLegend" icon="{imgExpand}" label="Legend" click="ToggleLegend();" themeColor="0x00FF00" width="150" right="5" top="5" />
<!--mx:ToggleButtonBar id="bb" horizontalGap="2" selectedIndex="0" themeColor="0x00FF00" right="160" top="5">
<mx:dataProvider>
<mx:Array>
<mx:String>Streets</mx:String>
<mx:String>Imagery</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ToggleButtonBar-->
<mx:Button id="bChangeBasemap" label="Change Basemap" click="pChangeBasemap.visible=!pChangeBasemap.visible;" themeColor="0x00FF00" right="160" top="5" />
<esri:Navigation id="navToolbar" map="{map}"/>
<mx:Panel id="pChangeBasemap" title="Choose Your Basemap" layout="vertical" width="250" paddingTop="5" paddingRight="5" paddingBottom="5" paddingLeft="5" horizontalCenter="0" verticalCenter="0" visible="false">
<mx:Label text="Basemaps" fontWeight="bold" />
<mx:RadioButtonGroup id="rbgBasemaps" itemClick="handleBasemapClick(event);" selectedValue="{_SelectedBasemap}"/>
<mx:VBox paddingLeft="5">
<mx:RadioButton label="NSA Default Basemap" group="{rbgBasemaps}" value="0"/>
</mx:VBox>
<mx:VBox id="cBasemaps" paddingLeft="5" />
<mx:Button label="Close" click="pChangeBasemap.visible=false;" />
</mx:Panel>
private function doMyAlert():void
{
Alert.show("here");
}
The above is just a test that I could not get working, below is how I will try to implement any solution. The myGraphicsLocationsLayer has no attribute:<mx:Canvas id="myPanel" height="100%" width="100%">
<esri:Map id="map" backgroundColor="0xFFFFFF" styleName="myMapStyle" mouseDown="onMouseDown(event);" panUpdate="onMapPanUpdate();" zoomUpdate="onMapZoomUpdate();" extentChange="callLater(onMapExtentChanged);" >
<esri:lods>
<esri:LOD level="0" resolution="0.3515625" scale="147748799.285417" />
<esri:LOD level="1" resolution="0.17578125" scale="73874399.6427087" />
<esri:LOD level="2" resolution="0.087890625" scale="36937199.8213544" />
<esri:LOD level="3" resolution="0.0439453125" scale="18468599.9106772" />
<esri:LOD level="4" resolution="0.02197265625" scale="9234299.95533859" />
<esri:LOD level="5" resolution="0.010986328125" scale="4617149.97766929" />
<esri:LOD level="6" resolution="0.0054931640625" scale="2308574.98883465" />
<esri:LOD level="7" resolution="0.00274658203125" scale="1154287.49441732" />
<esri:LOD level="8" resolution="0.001373291015625" scale="577143.747208662" />
<esri:LOD level="9" resolution="0.0006866455078125" scale="288571.873604331" />
<esri:LOD level="10" resolution="0.00034332275390625" scale="144285.936802165" />
<esri:LOD level="11" resolution="0.000171661376953125" scale="72142.9684010827" />
<esri:LOD level="12" resolution="0.0000858306884765625" scale="36071.4842005414" />
<esri:LOD level="13" resolution="0.0000429153442382813" scale="18035.7421002707" />
<esri:LOD level="14" resolution="0.0000214576721191407" scale="9017.87105013534" />
<esri:LOD level="15" resolution="0.0000107288360595703" scale="4508.93552506767" />
</esri:lods>
<esri:ArcGISDynamicMapServiceLayer id="basemap" url="{_BasemapHost + _BasemapService}" load="onMapServiceLoaded(event)" />
<esri:GraphicsLayer id="myGraphicsColorOverlayLayer" />
<esri:GraphicsLayer id="myGraphicsHatchedOverlayLayer" />
<esri:GraphicsLayer id="myGraphicsRadiusLayer" />
<esri:GraphicsLayer id="myGraphicsHighlightedGeographiesLayer" />
<esri:GraphicsLayer id="myGraphicsSingleLocationLayer" />
<esri:GraphicsLayer id="myGraphicsLocationsLayer" />
<esri:GraphicsLayer id="myGraphicsCompetitionLayer" />
<esri:GraphicsLayer id="myGraphicsSubZipLayer" />
</esri:Map>
</mx:Canvas>
<mx:VBox id="legend" verticalScrollPolicy="auto" horizontalScrollPolicy="off" width="150" right="5" top="25" bottom="5" height="{this.height-30}" maxHeight="{this.height-30}" visible="false" backgroundColor="0xFFFFFF" borderSides="top left right bottom" borderColor="0xc0c0c0" borderThickness="1" fontSize="10">
</mx:VBox>
<mx:Button id="bLegend" icon="{imgExpand}" label="Legend" click="ToggleLegend();" themeColor="0x00FF00" width="150" right="5" top="5" />
<!--mx:ToggleButtonBar id="bb" horizontalGap="2" selectedIndex="0" themeColor="0x00FF00" right="160" top="5">
<mx:dataProvider>
<mx:Array>
<mx:String>Streets</mx:String>
<mx:String>Imagery</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ToggleButtonBar-->
<mx:Button id="bChangeBasemap" label="Change Basemap" click="pChangeBasemap.visible=!pChangeBasemap.visible;" themeColor="0x00FF00" right="160" top="5" />
<esri:Navigation id="navToolbar" map="{map}"/>
<mx:Panel id="pChangeBasemap" title="Choose Your Basemap" layout="vertical" width="250" paddingTop="5" paddingRight="5" paddingBottom="5" paddingLeft="5" horizontalCenter="0" verticalCenter="0" visible="false">
<mx:Label text="Basemaps" fontWeight="bold" />
<mx:RadioButtonGroup id="rbgBasemaps" itemClick="handleBasemapClick(event);" selectedValue="{_SelectedBasemap}"/>
<mx:VBox paddingLeft="5">
<mx:RadioButton label="NSA Default Basemap" group="{rbgBasemaps}" value="0"/>
</mx:VBox>
<mx:VBox id="cBasemaps" paddingLeft="5" />
<mx:Button label="Close" click="pChangeBasemap.visible=false;" />
</mx:Panel>
I then have a function that createst the graphics for the layer. You can see I am trying to add an EventListener public function setStoreOverlay(storeName:String, storeNumber:String, radius:Number, latitude:Number, longitude:Number, showName:Number, showNumber:Number, showRadius:Number, color:Number, shape:String, fontName:String, fontColor:Number, fontSize:Number, fontStyle:Number, fontLineColor:Number):void
{
var storeGraphic:Graphic = new Graphic(new MapPoint(longitude, latitude));
var myPointSymbol:SimpleMarkerSymbol;
myPointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 10, color, 3);
storeGraphic.symbol = myPointSymbol;
storeGraphic.addEventListener(MouseEvent.ROLL_OVER,doMyAlert);
myGraphicsLocationsLayer.add(storeGraphic);
}
Then my doMyAlert function looks like: private function doMyAlert(event:MouseEvent):void
{
const graphic:Graphic = event.target as Graphic;
if (graphic)
{
Alert.show(graphic.id);
}
else
{
Alert.show("no");
}
}