Thank you for the reply, I saw a similar technique in the javascript examples. A little more searching and i found that a map click event which started from a graphic has the graphic's symbol as the target, so I get event.target.parent as Graphic
private static function mapMouseUpHandler(event:MouseEvent):void
{
if( _mouseDrag == false) {
if (event.target.parent is Graphic)
{
var graphic:Graphic = event.target.parent as Graphic;
var idx:int = int(graphic.attributes["Index"]);
Tags.getInstance().onClickTag(idx);
return;
}
var mouseMapPoint:MapPoint = map.toMapFromStage(event.stageX, event.stageY);
var x:Number = mouseMapPoint.x;
var y:Number = mouseMapPoint.y;
mapLocationQuery(map, x, y);
}
}