Subfile constructor

Subfile({
  1. required int baseZoomLevel,
  2. required ZoomlevelRange zoomlevelRange,
  3. required MapHeaderInfo mapHeaderInfo,
  4. required PoiWayCollections poiWayCollections,
  5. required TagholderModel model,
})

Implementation

Subfile({
  required this.baseZoomLevel,
  required this.zoomlevelRange,
  required this.mapHeaderInfo,
  required PoiWayCollections poiWayCollections,
  required this.model,
}) {
  MercatorProjection projection = MercatorProjection.fromZoomlevel(baseZoomLevel);
  _minX = projection.longitudeToTileX(mapHeaderInfo.boundingBox.minLongitude);
  _maxX = projection.longitudeToTileX(mapHeaderInfo.boundingBox.maxLongitude);
  _minY = projection.latitudeToTileY(mapHeaderInfo.boundingBox.maxLatitude);
  _maxY = projection.latitudeToTileY(mapHeaderInfo.boundingBox.minLatitude);
  _tileCount = (_maxX - _minX + 1) * (_maxY - _minY + 1);

  assert(_minX >= 0, "minX $_minX < 0 for ${mapHeaderInfo.boundingBox} and $baseZoomLevel");
  assert(_minY >= 0, "minY $_minY < 0 for ${mapHeaderInfo.boundingBox} and $baseZoomLevel");
  _tileBuffer = TileBuffer(baseZoomLevel);

  _poiWayCollections = poiWayCollections;
}