How to add Tiled gameObjects to matter

I´m working on a top down racing game, and have been designing my levels in Tiled. I have an Object Layer with checkpoints that will be used to check if the player is going in the right direction and to navigate ai racers.

I´ve been able to import the map and add physics and collisons to the regular Tile Layers, and I have gotten the objects from Tiled in to an array using getObjectLayer(), but I can´t figure out what to do with them to make them them register collisions. I´ve tried looping through the array and adding them as gameObject to matter like this:

checkpoints.objects.forEach(checkpoint => {
        
        this.matter.add.gameObject(checkpoint);
    });

but I get an error message:

“Uncaught TypeError: i.gameObject.emit is not a function”

Could someone please tell me how to add gameObjects and have them collide the correct way?

I somewhat solved it by looping through the array of objects creating a matter rect for each using the objects specifications, and offseting the x y values by half the width/height.

The problem now is that the rects that are rotated gets placed slightly wrong, and no mattter what I try I can´t seem to get it right.

I´ve been trying to fix this seemingly easy problem for days now and would greatly appreciate some help!

I fixed the postitioning problem by adding a point in Tiled to the center of all the rect that had been rotated, and used that to position the game objects in Phaser.

It works, but it feels hacky and adds extra steps to the level-making-workflow, so if anyone have a better solution I would very much like to hear it!