Hi folks,
I'm working on a google map that plots three sections of information.
there are quite a few marker points that is loaded in via xml.
All is well but when I click on a marker point, I want it to open the
info window to the corresponding marker that I selected, but instead,
it only opens the info window of the LAST item on the xml file.
I have the addEventListener within the for loop so I don't understand
what I am doing wrong. Here is the full code:
I am using Flash CS3 just within the timeline.
import com.google.maps.Map;
import com.google.maps.LatLng;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
import com.google.maps.controls.MapTypeControl;
import com.google.maps.controls.ZoomControl;
import com.google.maps.controls.PositionControl;
import com.google.maps.overlays.Marker;
import com.google.maps.overlays.MarkerOptions;
import com.google.maps.styles.FillStyle;
import com.google.maps.styles.StrokeStyle;
import com.google.maps.MapMouseEvent;
import com.google.maps.InfoWindowOptions;
var _lat:Number;
var _lng:Number;
var _type:String;
var _name:String;
var _label:int;
var _address:String;
var _hidden:Boolean = false;
var markerGroups = { "arts": [], "books": [], "cafe": []};
var markerObjects = new Array();
var map:Map = new Map();
map.key = "my key";
map.setSize(new Point(450, 415));
map.addEventListener(MapEvent.MAP_READY, onMapReady);
this.addChild(map);
function onMapReady(event:Event):void {
map.setCenter(new LatLng(41.791206, -87.593934), 14,
MapType.NORMAL_MAP_TYPE);
map.addControl(new MapTypeControl());
map.addControl(new ZoomControl());
map.addControl(new PositionControl());
init("config/markerdata.xml");
}
function init(xmlPath:String) {
var _mLoader:URLLoader = new URLLoader();
_mLoader.addEventListener(Event.COMPLETE, onMLoaded);
_mLoader.load(new URLRequest(xmlPath));
}
function onMLoaded(e:Event):void {
var _mXML:XML = new XML(e.target.data);
var _mXMLList:XMLList =new XMLList(_mXML.marker);
for each (var child:XML in _mXMLList) {
_lat = chi...@lat;
_lng = chi...@lng;
_type = chi...@type;
_name = chi...@name;
_label = chi...@label;
_address = chi...@address;
var _blue:blueIcon = new blueIcon();
var _orange:orangeIcon = new orangeIcon();
var _green:greenIcon = new greenIcon();
var customIcons:Object = { "arts" :_blue, "books" :
_green,"cafe":_orange };
var marker:Marker = new Marker(
new LatLng(_lat, _lng),
new MarkerOptions({
radius: 7,
hasShadow: false,
labelText: _label,
icon: customIcons[_type],
iconOffset: new Point( 0, 0)
}));
markerGroups[_type].push(marker);
map.addOverlay(marker);
marker.addEventListener(MapMouseEvent.MOUSE_DOWN, function
(event:Event):void {
marker.openInfoWindow(new InfoWindowOptions({content:"Test"}));
});
}
checkbox();
}
function checkbox():void {
buttonMode = true;
var _checkbox:Checkbox = new Checkbox();
this.addChild(_checkbox);
_checkbox.x= 500;
_checkbox.y = 55;
_checkbox.name="arts";
var _checkbox2:Checkbox = new Checkbox();
this.addChild(_checkbox2);
_checkbox2.x= 500;
_checkbox2.y = 100;
_checkbox2.name="books";
var _checkbox3:Checkbox = new Checkbox();
this.addChild(_checkbox3);
_checkbox3.x= 500;
_checkbox3.y = 145;
_checkbox3.name="cafe";
_checkbox.addEventListener(MouseEvent.MOUSE_DOWN, hideGroup);
_checkbox2.addEventListener(MouseEvent.MOUSE_DOWN, hideGroup);
_checkbox3.addEventListener(MouseEvent.MOUSE_DOWN, hideGroup);
}
function hideGroup(e:Event):void {
if (_hidden == false) {
var type = e.target.name;
for (var i:int=0; i<markerGroups[type].length; i++) {
var marker = markerGroups[type][i];
marker.visible=false;
}
e.target.gotoAndStop(2);
_hidden = true;
}else{
for (var j:int=0; j<markerGroups[e.target.name].length; j++) {
marker = markerGroups[e.target.name][j];
marker.visible=true;
}
e.target.gotoAndStop(1);
_hidden = false;
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Maps API For Flash" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---