code: def grid_tiles(self, bbox, zoomlevel):
          
          tiles = self.tileslist(bbox, [zoomlevel])
          grid = {}
          for (z, x, y) in tiles:
              if not grid.get(y):
                  grid[y] = []
              grid[y].append(x)
          sortedgrid = []
          for y in sorted(grid.keys(), reverse=self.tile_scheme == 'tms'):
              sortedgrid.append([(x, y) for x in sorted(grid[y])])
          return sortedgrid
docs: Return a grid of (x, y) tuples representing the juxtaposition
          of tiles on the specified ``bbox`` at the specified ``zoomlevel``.