code: function(layerModel, gmapsMap) {
    var self = this;
  
    _.bindAll(this, 'featureOut', 'featureOver', 'featureClick');
  
    var opts = _.clone(layerModel.attributes);
  
    opts.map =  gmapsMap;
  
    var // preserve the user's callbacks
    _featureOver  = opts.featureOver,
    _featureOut   = opts.featureOut,
    _featureClick = opts.featureClick;
  
    opts.featureOver  = function() {
      _featureOver  && _featureOver.apply(this, arguments);
      self.featureOver  && self.featureOver.apply(this, arguments);
    };
  
    opts.featureOut  = function() {
      _featureOut  && _featureOut.apply(this, arguments);
      self.featureOut  && self.featureOut.apply(this, arguments);
    };
  
    opts.featureClick  = function() {
      _featureClick  && _featureClick.apply(this, arguments);
      self.featureClick  && self.featureClick.apply(opts, arguments);
    };
  
    cdb.geo.CartoDBLayerGMaps.call(this, opts);
    cdb.geo.GMapsLayerView.call(this, layerModel, this, gmapsMap);
  }
docs: gmaps cartodb layer