code: private FeatureTableData buildMapClickTableData(LatLng latLng, double zoom, BoundingBox boundingBox, double tolerance, Projection projection) {
          FeatureTableData tableData = null;
  
          // Verify the features are indexed and we are getting information
          if (isIndexed() && (maxFeaturesInfo || featuresInfo)) {
  
              if (isOnAtCurrentZoom(zoom, latLng)) {
  
                  // Get the number of features in the tile location
                  long tileFeatureCount = tileFeatureCount(latLng, zoom);
  
                  // If more than a configured max features to draw
                  if (isMoreThanMaxFeatures(tileFeatureCount)) {
  
                      // Build the max features message
                      if (maxFeaturesInfo) {
                          tableData = new FeatureTableData(featureTiles.getFeatureDao().getTableName(), tileFeatureCount);
                      }
  
                  }
                  // Else, query for the features near the click
                  else if (featuresInfo) {
  
                      // Query for results and build the message
                      FeatureIndexResults results = queryFeatures(boundingBox, projection);
                      tableData = featureInfoBuilder.buildTableDataAndClose(results, tolerance, latLng, projection);
                  }
  
              }
          }
  
          return tableData;
      }
docs: Perform a query based upon the map click location and build feature table data
  
  @param latLng      location
  @param zoom        current zoom level
  @param boundingBox click bounding box
  @param tolerance   distance tolerance
  @param projection  desired geometry projection
  @return table data on what was clicked, or null