Tile constructor

Tile(
  1. int tileX,
  2. int tileY,
  3. int zoomLevel,
  4. int indoorLevel,
)

Creates a new tile with the specified coordinates and zoom level.

tileX The X coordinate of the tile (0 to 2^zoomLevel - 1) tileY The Y coordinate of the tile (0 to 2^zoomLevel - 1) zoomLevel The zoom level (must be non-negative) indoorLevel The indoor/floor level for multi-story mapping

Asserts that all coordinates are within valid ranges for the zoom level

Implementation

Tile(this.tileX, this.tileY, this.zoomLevel, this.indoorLevel)
  : assert(tileX >= 0, "tileX $tileX must not be negative"),
    assert(tileY >= 0, "tileY $tileY must not be negative"),
    assert(zoomLevel >= 0) {
  assert(tileX <= getMaxTileNumber(zoomLevel), "$tileX > ${getMaxTileNumber(zoomLevel)} for zoomlevel $zoomLevel");
  assert(tileY <= getMaxTileNumber(zoomLevel), "$tileY > ${getMaxTileNumber(zoomLevel)} for zoomlevel $zoomLevel");
}