title: How to know when Google places has loaded and is ready (asynchronously)?
body: <p>I load google maps and places asynchronously in JQuery : </p>
  
  <pre><code> var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = "http://maps.google.com/maps/api/js?key=myKey&amp;libraries=places&amp;sensor=false&amp;async=2&amp;callback=MapApiLoaded";
   document.body.appendChild(script);
  </code></pre>
  
  <p>The callback is called when Google Maps has loaded :</p>
  
  <pre><code>function MapApiLoaded() {
  
     var input = document.getElementById('searchField');
     var options = {
        types: ['(cities)'],
     };
  
     autocomplete = new google.maps.places.Autocomplete(input, options);
  
     google.maps.event.addListener(autocomplete, 'place_changed', function(event) {
          var item = autocomplete.getPlace();
          // do some stuff
      }
      GMapsloaded = true;
   }
  </code></pre>
  
  <p>When I Get into my city selection screen, I check first that Google maps has been loaded : </p>
  
  <pre><code> if(!GMapsloaded) {
      alert('mapsnotloaded');
      return;
    }
  </code></pre>
  
  <p>When my mobile is in Wifi or 3G, I can start typing in the placeholder and google places responds. When I'm in Edge, I start typing and there's no interaction from google places. It could take up to 2 minutes before I actually get any reaction when I type the first letter. </p>
  
  <p>I'd like to only be able to actually start typing in the input text when Places is really ready. But I haven't found any event to bind to.</p>
  
  <p>Any idea ? Thank you</p>