code: function() {
          if (!this.type) {
              this.type = google.maps.MapTypeId.ROADMAP;
          }
          var mapObject;
          var cache = OpenLayers.Layer.Google.cache[this.map.id];
          if (cache) {
              // there are already Google layers added to this map
              mapObject = cache.mapObject;
              // increment the layer count
              ++cache.count;
          } else {
              // this is the first Google layer for this map
              // create GMap
              var center = this.map.getCenter();
              var container = document.createElement('div');
              container.className = "olForeignContainer";
              container.style.width = '100%';
              container.style.height = '100%';
              mapObject = new google.maps.Map(container, {
                  center: center ?
                      new google.maps.LatLng(center.lat, center.lon) :
                      new google.maps.LatLng(0, 0),
                  zoom: this.map.getZoom() || 0,
                  mapTypeId: this.type,
                  disableDefaultUI: true,
                  keyboardShortcuts: false,
                  draggable: false,
                  disableDoubleClickZoom: true,
                  scrollwheel: false,
                  streetViewControl: false
              });
              var googleControl = document.createElement('div');
              googleControl.style.width = '100%';
              googleControl.style.height = '100%';
              mapObject.controls[google.maps.ControlPosition.TOP_LEFT].push(googleControl);
              
              // cache elements for use by any other google layers added to
              // this same map
              cache = {
                  googleControl: googleControl,
                  mapObject: mapObject,
                  count: 1
              };
              OpenLayers.Layer.Google.cache[this.map.id] = cache;
          }
          this.mapObject = mapObject;
          this.setGMapVisibility(this.visibility);
      }
docs: Method: loadMapObject
  Load the GMap and register appropriate event listeners.