Google Map - Markers not centering when links are clicked

I’v got a small issue with my google map. All is working ok apart from when I clicked on the links for any of the markers in the sidebar html which was created. The markers are showing up fine and have loaded from the xml file, however, the marker point doesn’t center on the map when I click the link,

Based on the code below, could someone advise how I can get the points/markers to center on the map.

Thanks for any help.

<body onunload="GUnload()">
	     <table border=0 cellspacing=10>
           <div id="map" style="width: 550px; height: 650px"></div>
        <td bgcolor = "lightblue" width = "150px" valign="top" style="text-decoration: none; color: #4444ff;">
           <div id="side_bar"></div>



    <script type="text/javascript">

    if (GBrowserIsCompatible()) {
      // this variable will collect the html which will eventualkly be placed in the side_bar
      var side_bar_html = "";
      // arrays to hold copies of the markers used by the side_bar
      // because the function closure trick doesnt work there
      var gmarkers = [];

      // A function to create the marker and set up the event window
      function createMarker(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
        // save the info we need to use later for the side_bar
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\\/a><br>';
        return marker;

      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");

      // create the map
      var map = new GMap2(document.getElementById("map"));
      //map.addControl(new GLargeMapControl());
      //map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(55.29243672593946, -5.13329575999990), 14);
	  window.setTimeout(function() {
  	  map.panTo(new GLatLng(55.29243672593946, -5.13329575999990));
	  }, 2000);

      // Read the data from example.xml
      GDownloadUrl("example.xml", function(doc) {
        var xmlDoc = GXml.parse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
          // create the marker
          var marker = createMarker(point,label,html);
        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");

    // This Javascript is based on code provided by the
    // Community Church Javascript Team