<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: mouse events with cluster symbols in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186127#M4343</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm partway there on a solution, but I don't think it's the best option.&amp;nbsp; I've used the MouseDown event for the whole FeatureLayer.&amp;nbsp; Then I grab the target of the event and cast it as a ClusterGraphic.&amp;nbsp; Like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected function fLayer_mouseDownHandler(event:MouseEvent):void
{
 var gr:ClusterGraphic = ClusterGraphic(event.target);
 var grs:Array = gr.cluster.graphics;
 for each(var g in grs) {
 }
}&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have the flash debug player, so I can't tell what kind of errors or whatever I'm generating, but it appears to work fine, and I get access to all the graphics in the cluster (and more importantly, their attributes).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone tell me if there's a better or more efficient way to do this?&amp;nbsp; Otherwise, I guess this'll work fine.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 09:25:55 GMT</pubDate>
    <dc:creator>DavidElies</dc:creator>
    <dc:date>2021-12-11T09:25:55Z</dc:date>
    <item>
      <title>mouse events with cluster symbols</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186126#M4342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When using the GridClusterer, I'm trying to figure out how to get the mouse events on the &lt;/SPAN&gt;&lt;SPAN style="font-style:italic;"&gt;&lt;STRONG&gt;clustered &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;cluster graphics (as opposed to the &lt;/SPAN&gt;&lt;STRONG style="font-style: italic;"&gt;expanded &lt;/STRONG&gt;&lt;SPAN&gt;cluster graphics).&amp;nbsp; It must be possible, because the FlareSymbol responds to mouseovers.&amp;nbsp; I want to set the behavior when a user mouses over a CellSymbol, for example.&amp;nbsp; Can anyone help me?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Sep 2010 21:39:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186126#M4342</guid>
      <dc:creator>DavidElies</dc:creator>
      <dc:date>2010-09-21T21:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: mouse events with cluster symbols</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186127#M4343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm partway there on a solution, but I don't think it's the best option.&amp;nbsp; I've used the MouseDown event for the whole FeatureLayer.&amp;nbsp; Then I grab the target of the event and cast it as a ClusterGraphic.&amp;nbsp; Like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected function fLayer_mouseDownHandler(event:MouseEvent):void
{
 var gr:ClusterGraphic = ClusterGraphic(event.target);
 var grs:Array = gr.cluster.graphics;
 for each(var g in grs) {
 }
}&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have the flash debug player, so I can't tell what kind of errors or whatever I'm generating, but it appears to work fine, and I get access to all the graphics in the cluster (and more importantly, their attributes).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can anyone tell me if there's a better or more efficient way to do this?&amp;nbsp; Otherwise, I guess this'll work fine.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 09:25:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186127#M4343</guid>
      <dc:creator>DavidElies</dc:creator>
      <dc:date>2021-12-11T09:25:55Z</dc:date>
    </item>
    <item>
      <title>Re: mouse events with cluster symbols</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186128#M4344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It seems that graphicsLayers (and probably all layers) pass mouse event to their children so only the children respond.&amp;nbsp; I found that I can avoid errors by changing my code to&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;protected function fLayer_mouseDownHandler(event:MouseEvent):void
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(event.target is ClusterGraphic) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var gr:ClusterGraphic = ClusterGraphic(event.target);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var grs:Array = gr.cluster.graphics;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var g in grs) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'd still like to know if anybody has thoughts on a better way to do this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 09:25:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186128#M4344</guid>
      <dc:creator>DavidElies</dc:creator>
      <dc:date>2021-12-11T09:25:58Z</dc:date>
    </item>
    <item>
      <title>Re: mouse events with cluster symbols</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186129#M4345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I simply extend Symbol and get a reference to the ClusterGraphic by overriding the draw method.&amp;nbsp; Something like this...then use the symbol as the symbol for the graphicslayer's clusterer...this is&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; import com.esri.ags.Map;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; import com.esri.ags.clusterers.supportClasses.ClusterGraphic;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; import com.esri.ags.geometry.Geometry;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; import com.esri.ags.symbols.Symbol;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; import flash.display.Sprite;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; import flash.events.MouseEvent;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public class MouseEventsClusterSymbol extends Symbol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; public function MouseEventsClusterSymbol()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; super();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; override public function draw(sprite:Sprite, geometry:Geometry, attributes:Object, map:Map):void&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; super.draw(sprite, geometry, attributes, map);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; const clusterGraphic:ClusterGraphic = sprite as ClusterGraphic;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if(clusterGraphic)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.addEventListener(MouseEvent.ROLL_OVER, graphicRollOverHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.addEventListener(MouseEvent.ROLL_OUT, graphicRollOutHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.addEventListener(MouseEvent.CLICK, graphicClickHandler); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; override public function clear(sprite:Sprite):void&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; super.clear(sprite);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; const clusterGraphic:ClusterGraphic = sprite as ClusterGraphic;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if(clusterGraphic)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.removeEventListener(MouseEvent.ROLL_OVER, graphicRollOverHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.removeEventListener(MouseEvent.ROLL_OUT, graphicRollOutHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clusterGraphic.removeEventListener(MouseEvent.ROLL_OUT, graphicClickHandler);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then use it in the GraphicsLayer's clusterer:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;esri:GraphicsLayer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;esri:clusterer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;esri:WeightedClusterer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;esri:symbol&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;collections:MouseEventsClusterSymbol /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:symbol&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/esri:WeightedClusterer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;/esri:clusterer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;/esri:GraphicsLayer&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been really digging AS3 Signals, so in my handlers, I send out a signal with a reference to the cluster graphic and handle the logic outside of the symbol itself...Hope this helps the cause. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Brendan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jan 2012 21:29:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/mouse-events-with-cluster-symbols/m-p/186129#M4345</guid>
      <dc:creator>BrendanCollins</dc:creator>
      <dc:date>2012-01-06T21:29:37Z</dc:date>
    </item>
  </channel>
</rss>

