addWaydata method

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

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