Hi all

Please help me I'm going to do my nut!!!

I have added a grid of polygons on the stage using a loop pulling lat longs 
from an XML sheet. All is fine and dandy and works well.

I need to reference the polygons as they are clicked... still no problem 
there I have a event-listener that works just fine and I get a hit for each 
polygon.

Now here is the problem I need each polygon to pull info based on which one 
was clicked but I cant identify which one I clicked it all returns [Polygon 
object].

I have even gone so far as to create an Array that stores the lat long info 
for each block and label them but still this only helps a bit as I can 
now at-least with another loop cycle through the array and check the lat 
longs to calculate what block I clicked. I also need the blocks to change 
color to indicate it was clicked and more than one can be active.

So need to know what the polygon's instance name is to do that. Does anyone 
know how to reference or call a polygon by its instance name.
Surely there must be a way to reference each block by an 
unique identifier... PLEASE HELP.... thank You  

code as follows 

private var gridBlocks:ArrayCollection = new ArrayCollection();
 private var blockIndex:Number;
private var topLeftLat:Number;
private var topLeftLong:Number;
private var bottomLeftLat:Number;
private var bottomLeftLong:Number;
private var bottomRightLat:Number;
private var bottomRightLong:Number;
private var topRightLat:Number;
private var topRightLong:Number;
 public function createGrid():void
{ 
for(var i:int = 0; i < 24; i++)
{
blockIndex = i;
var label:String = 'Block ' + gridBlocks.length;
 topLeftLat = Niger5.getItemAt(i).LeftTopLat;
topLeftLong = Niger5.getItemAt(i).LeftTopLong;
bottomLeftLat = Niger5.getItemAt(i).LeftBottomLat;
bottomLeftLong = Niger5.getItemAt(i).LeftBottomLong;
bottomRightLat = Niger5.getItemAt(i).RightBottomLat;
bottomRightLong = Niger5.getItemAt(i).RightBottomLong;
topRightLat = Niger5.getItemAt(i).RightTopLat;
topRightLong =  Niger5.getItemAt(i).RightTopLong;
 var gridBlock:Polygon = new Polygon([
new LatLng(topLeftLat, topLeftLong),
new LatLng(bottomLeftLat, bottomLeftLong),
new LatLng(bottomRightLat, bottomRightLong),
new LatLng(topRightLat, topRightLong) 
], 
new PolygonOptions({ 
strokeStyle: new StrokeStyle({
color: 0x00FFFF,
thickness: 1,
alpha: 1}),
fillStyle: new FillStyle({
color: 0x666666,
alpha: 0.7})
}));
 map.addOverlay(gridBlock);
 gridBlocks.addItem({label: 
label,blockLatLong:gridBlock.getLatLngBounds()});
 gridBlock.addEventListener(MapMouseEvent.CLICK, function(e:Event):void 
{
var clickedBlock = e.currentTarget as Polygon;
//check1.text = clickedBlock;
 var latL:LatLngBounds = clickedBlock.getLatLngBounds();
check1.text = latL.toString();
});
 }
 }
     

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-maps-api-for-flash/-/HCp_ewRFxAgJ.
To post to this group, send email to google-maps-api-for-flash@googlegroups.com.
To unsubscribe from this group, send email to 
google-maps-api-for-flash+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en.

Reply via email to