title: Google Maps API V3 - over_query_limit GeoCoderStatus confusion
body: <p>Am using this in Google Maps API 3</p>
  
  <p>Basically I am adding about 150 markers to a map.  I use GeoCoding once to get lat and long in order to centre the map on a specific location but that is the <strong><em>only</em></strong> time I use GeoCoding.  However, GeoCoding returns results asychronously so I wait for results to be returned by placing the rest of the code in the GeoCode callback function (see code below).  This was all working fine until today when we started to get a blank map returned.</p>
  
  <p>On investigating, I realised that the GeocoderStatus was returning <strong>over_query_limit</strong> and, due to the if statement, it was bypassing the rest of the code. </p>
  
  <p>Upon further investigation we find out that there is a limit of 2500 GeoCode requests per day.  However, I can't really see that this particular website could have reached this limit as we are only calling GeoCode once per map request... unless of course there is something I am not understanding about our code below... is the fact that we wrap everythign in the GeoCode callback mean that we are somehow calling GeoCode more than once?</p>
  
  <p>Anyway this code results in the <strong>over_query_limit</strong> GeoCodeStatus error sometimes and returns a blank map</p>
  
  <pre><code>function initialize() {
      var geocoder = new google.maps.Geocoder();
      var mapCentre = "Blackpool, United Kingdom";
  
      // Get lat long for city that we use to center the map within the container.
      geocoder.geocode({ 'address': mapCentre }, function(results, status) {
          if (status == google.maps.GeocoderStatus.OK) {
              var mapCentreLatlng = new google.maps.LatLng(results[0].geometry.location.lb, results[0].geometry.location.mb);
              // This function creates the marker - it does not use GeoCoder to look up an address as we supply the lat and long directly in our JSON
              buildMap(mapCentreLatlng);
          }
      });
  }
  </code></pre>
  
  <p>And this code is fine - it no longer calls GeoCode</p>
  
  <pre><code>function initialize() {
     var mapCentreLatlng = new google.maps.LatLng(53.8142, -3.0503);
     buildMap(mapCentreLatlng);
  }
  </code></pre>
  
  <p>We have everything working now, but just wondering if anybody can explain?</p>