Google Maps API Tutorial© 2006, 2007, 2008, 2009 Mike Williams |
Translate this page: |
Associative arrays and Custom IconsWhen I want to manage custom icons with information from XML data, I like to use an associative array.Javascipt associative arrays can be used just like ordinary arrays, except that they use a string instead of a number as the index. This means that you can store a meaningful name for the icon type in the XML data, rather than a meaningless number, without having to have a string of if statements to translate the XML attribute into the corresponding GIcon variable name. E.g. if you've got custom icons that represent a house, a school and a factory, you can create an array like this var gicons=[]; gicons["house"] = new GIcon( ... ); gicons["school"] = new GIcon( ... ); gicons["factory"] = new GIcon( ... );and then create your markers like new GMarker(point, gmarkers["school"]);and if you add an attribute to your XML, like icontype="school" you can read that attribute string from your XML in the normal way, and use it to index the associative array. new GMarker(point, gicons[icontype]);Here's an example You can see the XML data file that I used here Potential Pitfalls
|