writeTileIndex method

Writebuffer writeTileIndex(
  1. bool debugFile
)

Writes the tile index for this sub-file to a Writebuffer.

Implementation

Writebuffer writeTileIndex(bool debugFile) {
  if (_writebufferTileIndex != null) return _writebufferTileIndex!;
  _writebufferTileIndex = Writebuffer();
  _writeIndexHeaderSignature(debugFile, _writebufferTileIndex!);
  // todo find out how to do this
  bool coveredByWater = false;
  int offset = _writebufferTileIndex!.length + 5 * tileCount;
  int firstOffset = offset;
  _processSync("writing tile index", (tile) {
    _writeTileIndexEntry(_writebufferTileIndex!, coveredByWater, offset);
    offset += _tileBuffer.getLength(tile);
  });
  assert(
    firstOffset == _writebufferTileIndex!.length,
    "$firstOffset != ${_writebufferTileIndex!.length} with debug=$debugFile and baseZoomLevel=$baseZoomLevel",
  );
  return _writebufferTileIndex!;
}