def METHOD_NAME(self, wdg, ctx: cairo.Context):
    ctx.set_antialias(cairo.Antialias.NONE)
    ctx.scale(self.scale, self.scale)
    # Background
    if self.map_bg is not None:
        if self.level_id == WORLD_MAP_DEFAULT_ID:
            # We display the bottom right of the map.
            ctx.set_source_surface(self.map_bg, -504, -1008)
        else:
            ctx.set_source_surface(self.map_bg, 0, 0)
        ctx.get_source().set_filter(cairo.Filter.NEAREST)
        ctx.paint()
    size_w, size_h = self.draw_area.get_size_request()
    size_w /= self.scale
    size_h /= self.scale
    # Tile Grid
    if self.draw_tile_grid:
        self.tile_grid_plugin.METHOD_NAME(ctx, size_w, size_h, self.mouse_x, self.mouse_y)
    # Selection
    self._handle_selection(ctx)
    # RENDER MARKERS
    self.markers_at_pos = {}
    for i, marker in enumerate(self.markers):
        if marker != self._editing and marker != self._hide and marker.level_id == self.level_id and marker.reference_id <= -1:
            self._draw_marker(ctx, marker)
    if self._editing:
        # Black out
        ctx.set_source_rgba(0, 0, 0, 0.5)
        ctx.rectangle(0, 0, size_w, size_h)
        ctx.fill()
        # Render editing marker
        self._draw_marker(ctx, self._editing)
    # nah, too crowded.
    #for (x, y), list_of_markers in self.markers_at_pos.items():
    #    ms = [self.markers.index(m) for m in list_of_markers]
    #    self._draw_name(ctx, ms, x, y)
    return True