    function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("googlemap"));
        map.setCenter(new GLatLng(51.608998, -3.101224), 8);
        map.addControl(new GSmallMapControl());
        //map.setUIToDefault();

            var address = new Array();
            address[0]= Array('51.589458', '-2.754488', '66 Newport Road,<br />Caldicot,<br />NP26 4BR');
            address[1]= Array('51.510791', '-3.199781', '87 Caerphilly Road,<br />Birchgrove,<br />CF14 4AE');
            address[2]= Array('51.641409', '-2.675175', '19 High Street,<br />Chepstow,<br />NP16 5LQ');
            address[3]= Array('51.653322', '-3.021283', '8 The Parade,<br />Cwmbran,<br />NP44 1PT');
            address[4]= Array('51.583202', '-3.009109', '234 Stow Hill,<br />Newport,<br />NP20 4HA');
            address[5]= Array('51.58610984553209', '-2.9933881759643555', 'John Frost Square,<br />Newport,<br />NP20 1PX');
            address[6]= Array('51.59830', '-2.9812', '183 Caerleon Road,<br />Newport,<br />NP19 7HA');
            address[7]= Array('51.812384', '-2.71508', '10 Agincourt Square,<br />Monmouth,<br />NP25 3DY');
            address[8]= Array('51.608998', '-3.101224', '33b Tredegar Street,<br />Risca,<br />NP11 6BU');
            address[9]= Array('51.620026', '-3.946542', '18 Union Street,<br />Swansea,<br />SA1 3EH') ;
            address[10]= Array('51.702634', '-2.904637', '25 Bridge Street,<br />Usk,<br />NP15 1BQ');

        // 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 = "http://www.google.com/mapfiles/shadow50.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);

        // Creates a marker whose info window displays the letter corresponding
        // to the given index.
        function createMarker(point, index, address) {
          // Create a lettered icon for this point using our icon class
          var letter = String.fromCharCode("A".charCodeAt(0) + index);
          var letteredIcon = new GIcon(baseIcon);
          letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

          // Set up our GMarkerOptions object
          markerOptions = { icon:letteredIcon };
          var marker = new GMarker(point, markerOptions);

          GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(address);
          });
          return marker;
        }

        // Add markers to the map
        for ( var i=0, len=address.length; i<len; i++ ){
            var point = new GLatLng(address[i][0],address[i][1]);
            map.addOverlay(createMarker(point, i, address[i][2]));
        }
      }
    }

    google.setOnLoadCallback(initialize);

