code: function BoundingBoxGoogleMaps (map) {
    if (!_isGoogleMap(map)) {
      throw new Error('Bounding box requires a Google Maps map but got: ' + map);
    }
    // Adapt the Google Maps map to offer unique:
    // - getBounds() function
    // - 'boundsChanged' event
    var mapAdapter = new GoogleMapsBoundingBoxAdapter(map);
    // Use the adapter for the internal BoundingBoxFilter model
    this._internalModel = new BoundingBoxFilterModel(mapAdapter);
    this.listenTo(this._internalModel, 'boundsChanged', this._onBoundsChanged);
  }
docs: Bounding box filter for Google Maps maps.
  
  When this filter is included into a dataview only the data inside the {@link https://developers.google.com/maps/documentation/javascript/3.exp/reference#Map|googleMap}
  bounds will be taken into account.
  
  @param {google.maps.map} map - The google map to track the bounds
  
  @fires boundsChanged
  
  @constructor
  @extends carto.filter.Base
  @memberof carto.filter
  @api
  
  @example
  // Create a bonding box attached to a google map.
  const bboxFilter = new carto.filter.BoundingBoxGoogleMaps(googleMap);
  // Add the filter to a dataview. Generating new data when the map bounds are changed.
  dataview.addFilter(bboxFilter);