SubfileCreator constructor

SubfileCreator({
  1. required int baseZoomLevel,
  2. required ZoomlevelRange zoomlevelRange,
  3. required MapHeaderInfo mapHeaderInfo,
})

Implementation

SubfileCreator({required this.baseZoomLevel, required this.zoomlevelRange, required this.mapHeaderInfo}) {
  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);

  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);

  for (int zoomlevel = zoomlevelRange.zoomlevelMin; zoomlevel <= zoomlevelRange.zoomlevelMax; ++zoomlevel) {
    _poiinfos[zoomlevel] = Poiinfo();
    _wayinfos[zoomlevel] = Wayinfo();
  }
}