I often find it's easier to create multiple TileMaps for different types of objects. Think of it like layers in Photoshop - ground layer, hurt layer, items layer, etc. You can use the collision layer system to really simplify your code.
That said, if you want to detect what tile you've collided with, you take the collision position, convert it to tile coordinates (
world_to_map()) and find the tile type with
If you'd like to see an example of this in action, I've written a tutorial here: