Skip to content

v0.18.0

Compare
Choose a tag to compare
@bcamper bcamper released this 24 Feb 17:50
· 144 commits to master since this release

New Features

  • More layer matching control with priority and exclusive #705
    • priority controls the order in which sub-layers at the same level are matched, and which one "wins" when multiple matching layers are merged.
    • exclusive ensures that the layer is mutually exclusive, and no other sub-layers at the same level will match.
    • Used together, if/else if/else filter patterns can be expressed with these new keywords, e.g.:
      layers:
        layerA:             # if matches layerA...
          filter: ...
          priority: 1
          exclusive: true
          draw: ...
        layerB:             # else if matches layerB...
          filter: ...
          priority: 2
          exclusive: true
          draw: ...
      
  • Data sources can define specific zoom levels at which tiles are loaded #702
    • In some cases it may be unnecessary or undesirable to load new tile data at every zoom level. The new zooms parameter allows for control over which map view zoom levels load new tiles, with tiles overzoomed when viewing zooms in between. For example, to only load new tile data at every other zoom level:
      sources:
        tilezen:
          type: MVT
          url: ...
          zooms: [0, 2, 4, 6, 8, 10, 12, 14, 16] # only load tiles every 2 zooms
      
    • If both zooms and max_zoom is present, the last zoom listed in zooms takes precedence, and overrides the max_zoom parameter. The min_display_zoom also automatically defaults to the first entry in the zooms list.
  • Enable setting of blend_order at the draw group level #703
    • Rather than requiring the blend_order to be set at the styles level (which has led to an unwieldy pattern of several "template" styles that vary only by blend_order), this change enables blend_order to be set within a draw group. This allows for much more flexible blend_order expressions, and a semantic use that aligns with the order parameter used for geometry world order of opaque-rendered features. For example, for a style with overlay blending:
      layers:
        overlays:
          draw:
            polygons-overlay:
              blend_order: 3
              ...
      
  • Quadkey support for tile URL templates #701
    • Support for the quadkey tile URL scheme is now available with the {q} token (as an alternative to the {x}/{y}/{z} URL pattern). For example, a Microsoft aerial imagery raster layer:
      sources:
        msft-aerial:
            type: Raster
            url: https://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g=587
      

Improvements

  • Improved label collision when zooming #709
  • Remove compounding alpha flicker artifacts when zooming non-opaque features #704

Bug Fixes

  • Fix force disable of Vertex Array Objects (for dev/debugging) f4235db