code: def _get_features(self):
          
          if self._satellite:
              return [("water", [], [])]
          elif self._zoom <= 2:
              return [
                  ("water", [], []),
                  ("marine_label", [], [1]),
              ]
          elif self._zoom <= 7:
              return [
                  ("admin", [], []),
                  ("water", [], []),
                  ("road", ["motorway"], []),
                  ("country_label", [], []),
                  ("marine_label", [], [1]),
                  ("state_label", [], []),
                  ("place_label", [], ["city", "town"]),
              ]
          elif self._zoom <= 10:
              return [
                  ("admin", [], []),
                  ("water", [], []),
                  ("road", ["motorway", "motorway_link", "trunk"], []),
                  ("country_label", [], []),
                  ("marine_label", [], [1]),
                  ("state_label", [], []),
                  ("place_label", [], ["city", "town"]),
              ]
          else:
              return [
                  ("landuse", ["agriculture", "grass", "park"], []),
                  ("water", [], []),
                  ("waterway", ["river", "canal"], []),
                  ("building", [], []),
                  ("road",
                   ["motorway", "motorway_link", "trunk", "primary", "secondary"]
                   if self._zoom <= 14 else
                   ["motorway", "motorway_link", "trunk", "primary", "secondary", "tertiary",
                    "link", "street", "tunnel"],
                   []),
                  ("poi_label", [], []),
              ]
docs: Decide which layers to render based on current zoom level and view type.