matchLinearWay method

List<Shape> matchLinearWay(
  1. Tile tile,
  2. Way way
)

Matches a linear way with the given parameters against this RenderTheme.

@param renderCallback the callback implementation which will be executed on each match. @param renderContext @param way

Implementation

List<Shape> matchLinearWay(final Tile tile, Way way) {
  MatchingCacheKey matchingCacheKey =
      MatchingCacheKey(way.tags, tile.zoomLevel, tile.indoorLevel);

  List<Shape>? matchingList = this.openWayMatchingCache[matchingCacheKey];
  if (matchingList == null) {
    // build cache
    matchingList = [];
    rulesList.forEach((rule) {
      rule.matchOpenWay(way, tile, matchingList!);
    });

    this.openWayMatchingCache[matchingCacheKey] = matchingList;
  }
  return matchingList;
}