Hi all had a search around but can't find any help so far, so i hope
someone can help me out.
I have created the map and populated it with xml markers which is no
problems but now I want the markers to have icons based on their type
from the xml. I've got so far with the code below but the
"customIcons" only get added to a couple of the markers on the map the
rest are standard orange google markers or disappear. The markers I am
using are mc's in my library and defined in the code.

Thanks in advanced for any help.

My AS3 Code:

// import classes
import com.google.maps.LatLng;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
import com.google.maps.controls.NavigationControl;
import com.google.maps.controls.MapTypeControl;
import com.google.maps.controls.OverviewMapControl;
import com.google.maps.overlays.MarkerOptions;
import com.google.maps.overlays.Marker;
import com.google.maps.InfoWindowOptions;
import com.google.maps.MapMouseEvent;

// custom icons
var house_icon:house_mc = new house_mc();// <--mc in my library
var bungalow_icon:bungalow_mc = new bungalow_mc();// <--mc in my
library

// set custom icons from movie clips in library
var customIcons:Object = {
        "House": house_icon,
        "Bungalow": bungalow_icon
}
// create The Map
var map:Map = new Map();
map.key = "*****************************************************";
map.setSize(new Point(stage.stageWidth, stage.stageHeight));
map.addEventListener(MapEvent.MAP_READY, onMapReady);
this.addChild(map);

//map ready function
function onMapReady(event:MapEvent):void {
  map.setCenter(new LatLng(50.161175, -5.088215), 13,
MapType.HYBRID_MAP_TYPE);
  map.addControl(new NavigationControl());
  map.addControl(new OverviewMapControl());
  map.addControl(new MapTypeControl());
  xmlLoader();
}
// load xml and loop through
function xmlLoader(){
 function loadXML(e:Event):void{
         XML.ignoreWhitespace = true;
         var map_xml:XML = new XML(e.target.data);

         for (var i:Number = 0; i < map_xml.location.length(); i++){

                 var latlng:LatLng = new LatLng(map_xml.location[i].lat,
map_xml.location[i].lng);
                 var name = map_xml.location[i].name;
                 var address:String = map_xml.location[i].address;
                 var vis:String = map_xml.location[i].vis;
                 var beds:String = map_xml.location[i].beds;
                 var type:String = map_xml.location[i].type;
                 var photo1:String = map_xml.location[i].photo1;
                 var id:String = map_xml.location[i].id;
                 var conad:String = name+" "+address;
                 //trace(conad);

                 map.addOverlay(createMarker(latlng,i, name, address, conad, 
photo1,
type));


         }// end of for loop

         // add markers
         function createMarker(latlng:LatLng, number:Number, name, address,
conad, photo1, type):Marker {
               var i:Marker = new Marker(
                                                                                
 latlng,
                                                                                
 new MarkerOptions({
                                                                                
                                   icon: customIcons[type],// <--icon by type 
from
customIcons Object above
                                                           hasShadow:
false,
                                                                           
tooltip: ""+type
                                                           })
                                                                                
 );
                           i.addEventListener(MapMouseEvent.CLICK,
function(event:MapMouseEvent):void
                                                                                
                                                                          {
                                                                                
                                                                          
map.openInfoWindow(event.latLng, new
InfoWindowOptions({
                                                                                
                                                                                
                                                                                
                         titleHTML: "<b>"+conad+"</b>",
                                                                                
                                                                                
                                                                                
                         contentHTML: ""+photo1
                                                                                
                                                                                
                                                                                
                         }));

                                                                                
                                                                          });
               return i;
      }// end function createMarker
 }// end of loadXML function

//  define xml file
 var xmlLoader:URLLoader = new URLLoader();
 xmlLoader.addEventListener(Event.COMPLETE, loadXML);
 xmlLoader.load(new URLRequest("mapxml.xml"));
}

-- 
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.

Reply via email to