    
function drawMap() {

  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    
    map.setCenter(new GLatLng(15, -10), 2);
    var customUI = map.getDefaultUI();
    customUI.controls.scalecontrol = false;
    customUI.controls.overviewmapcontrol = true;
    map.setUI(customUI);
    map.setMapType(G_PHYSICAL_MAP);

    // Create a base icon for all of our markers that specifies the
    // shadow, icon dimensions, etc.
    var baseIcon = new GIcon(G_DEFAULT_ICON);
    //baseIcon.shadow = "shadow1.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);

    // Define a function that randomly sets the icon for the location 
    function createMarker(point, country, desc) {
      // DISABLED: Create a random tree icon for this point using our icon class
      // var randomTree = Math.floor(Math.random() * 2);
      var randomTree = 1;
      var treeIcon = new GIcon(baseIcon);
      treeIcon.image = "/tree-planting-map/marker" + randomTree + ".png";
      treeIcon.shadow = "/tree-planting-map/shadow" + randomTree + ".png";

      // Set up our GMarkerOptions object
      markerOptions = { icon:treeIcon };
      var marker = new GMarker(point, markerOptions);
      var countryNoSpaces = country.replace(/ /g,'');

        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml('<div class="map-popup"><h2>' + country + '</h2><p>' + desc + '&nbsp;<a class="read-more" href="#" onclick="return hs.htmlExpand(this, { width: 641, contentId: \'' + countryNoSpaces + '\' } )">READ MORE</a></p></div>');
            });
        return marker;
        }

    // Download the data in data.xml and load it on the map. The format we
    // expect is:
    // <markers>
    //   <marker name="Burundi" lat="37.441" lng="-122.141"/>
    // </markers>
    GDownloadUrl("/tree-planting-map/tree-planting-data.xml", function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var country = markers[i].getAttribute("name");
        var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
        var desc = markers[i].getAttribute("desc");
        map.addOverlay(createMarker(latlng, country, desc));
      }
    });
  }
}

