title: Google Maps V3 Overlapping Markers on exact Location
body: <p>I am having issues with markers overlapping, please do not down vote as I am not highly schooled in javascript also I have looked at the different answers offered on stackoverflow but have not been able to use them to find a solution so please help! The code is grabbing php for lat and long based on static points I have given I would simply like to list all of the information in the same marker rather than have it overlap markers any help would be highly appreciated here is the code:</p>
  
  <pre><code>  &lt;head&gt;
  
  &lt;meta name="viewport" content="initial-scale=1.0, user-scalable=no" /&gt;
  &lt;META HTTP-EQUIV="refresh" &gt;
  &lt;title&gt;Operations&lt;/title&gt;
  
  &lt;script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=APIKEY&amp;sensor=false"&gt;&lt;/script&gt;
  &lt;script src="oms.min.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;
  //&lt;![CDATA[
  
  var customIcons = {      
  
  restaurant: {        icon: 'mm_20_blue.png'      },      
  
  bar: {        icon: 'mm_20_blue.png'      }    
  
  };
  
  function load() {
    var map = new google.maps.Map(document.getElementById("map"), {
      center: new google.maps.LatLng(32.298342, -64.791098),
      zoom: 17,
      mapTypeId: google.maps.MapTypeId.SATELLITE
    });
    var infoWindow = new google.maps.InfoWindow;
  
    // Change this depending on the name of your PHP file
    downloadUrl("genxml.php", function(data) {
      var xml = data.responseXML;
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i &lt; markers.length; i++) {
        var name = markers[i].getAttribute("name");
        var address = markers[i].getAttribute("address");
        var type = markers[i].getAttribute("type");
         var id = markers[i].getAttribute("permitnumber");
        var point = new google.maps.LatLng(
            parseFloat(markers[i].getAttribute("lat")),
            parseFloat(markers[i].getAttribute("lng")));
        var html = "&lt;b&gt;" + name + "&lt;/b&gt; &lt;br/&gt;" + address + "&lt;br/&gt;" + '&lt;a href="http://server/editform.php?find=' + id + '" &gt;More Info&lt;/a&gt; &lt;br/&gt; &lt;form action="del.php" method="post" enctype="multipart/form-data"&gt; &lt;input type="checkbox" name="checkbox" id="checkbox" value="' + id +'"&gt; &lt;input name="delete" type="submit" id="delete" value="Delete"&gt;  ' ;
        var icon = customIcons[type] || {};
        var marker = new google.maps.Marker({
          map: map,
          position: point,
          icon: icon.icon,
          shadow: icon.shadow,
          animation: google.maps.Animation.BOUNCE
  
        });
  
        bindInfoWindow(marker, map, infoWindow, html);
      }
     });
     }
  
  
  
  
      function bindInfoWindow(marker, map, infoWindow, html) {
      google.maps.event.addListener(marker, 'click', function() {
      infoWindow.setContent(html);
      infoWindow.open(map, marker);
     });
     }
  
     function downloadUrl(url, callback) {
     var request = window.ActiveXObject ?
        new ActiveXObject('Microsoft.XMLHTTP') :
        new XMLHttpRequest;
  
     request.onreadystatechange = function() {
       if (request.readyState == 4) {
        request.onreadystatechange = doNothing;
        callback(request, request.status);
      }
      };
  
     request.open('GET', url, true);
     request.send(null);
     }
  
      function doNothing() {}
  
  
  
     //]]&gt;
  
    &lt;/script&gt;
  
  
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
  
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-24568877-1']);
    _gaq.push(['_trackPageview']);
  
     (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-         analytics.com/ga.js';
       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
       })();
  
      &lt;/script&gt;
  
     &lt;/head&gt;
  
     &lt;body onload="load()" bgcolor="#A8F748" &gt;
  
    &lt;div id="map" style="margin:auto; width: 90%; height: 470px"&gt;&lt;/div&gt;
  
  
  
  
  
  
    &lt;/body&gt;
  </code></pre>