addWaydata method

void addWaydata(
  1. ZoomlevelRange zoomlevelRange,
  2. List<Wayholder> wayholders
)

Adds a list of ways to the appropriate zoom level within this sub-file.

Implementation

void addWaydata(ZoomlevelRange zoomlevelRange, List<Wayholder> wayholders) {
if (this.zoomlevelRange.zoomlevelMin > zoomlevelRange.zoomlevelMax) return;
if (this.zoomlevelRange.zoomlevelMax < zoomlevelRange.zoomlevelMin) return;
Wayinfo wayinfo = _wayinfos[Math.max(this.zoomlevelRange.zoomlevelMin, zoomlevelRange.zoomlevelMin)]!;
//print("Adding ${wayholders.length} ways to zoomlevelRange $zoomlevelRange for baseZoomLevel $baseZoomLevel");
WayCropper wayCropper = WayCropper(maxDeviationPixel: 5);
if (tileCount >= 100) {
  // one tile may span over the boundary of the mapfile, so do not crop
  for (Wayholder wayholder in wayholders) {
    Wayholder? wayCropped = wayCropper.cropOutsideWay(wayholder, mapHeaderInfo.boundingBox);
    if (wayCropped != null) wayinfo.addWayholder(wayCropped);
  }
} else {
  wayinfo.addWayholders(wayholders);
}
  }