Area2d detects TileMapLayer overlap but returns incorrect position

Godot Version

4.4

Question

2d top down driving game.

I am using an Area2d for my car to detect when it’s close to the curb tiles on the road. I am able to detect the curb tile when Area2d overlaps but when I try to fetch the global position of the overlapping tile from the body using body.global_position I receive the global position of the TileMapLayer Node, not the tile that is overlapping with the Area2d.

Is this expected behaviour and there is another way to get the specific tile position?

Thanks in advance.

What’s your detection code?

This is expected behaviour. You may need a raycast or you could try to approximate the tile by the area’s current position.