Why isn't it detecting the ground?

I want to make a Jump’N’Run. I already have implemented the movement but for some reason won’t the jump work. When I was printing messages on different positions, I realised that it doesn’t set onGrounded to true.
The weird thing is that the player was on the ground when the message was displayed.
How can I fix this?

Here is the Code:
using UnityEngine;

public class PlayerMovement : MonoBehaviour
    // Start is called before the first frame update
    float distToGround;
    void Start()
        rigidBody = GetComponent<Rigidbody2D>();
    public float speed = 5f;
    private float jumpForce = 2f;
    private Rigidbody2D rigidBody;
    public Vector2 speedv = new Vector2(50, 50);
    // Update is called once per frame

    void Update()
        distToGround = GetComponent<Collider2D>().bounds.extents.y;
        float inputX = Input.GetAxis("Horizontal");
        float lockPos = 0;
        transform.rotation = Quaternion.Euler(lockPos, lockPos, lockPos);

        Vector3 movementv = new Vector3(speedv.x * inputX, 0, 0);

        movementv *= Time.deltaTime;


        if (Input.GetKeyDown(KeyCode.Space) && isGrounded())
            rigidBody.velocity.Set(rigidBody.velocity.x, jumpForce);


    bool isGrounded()
        Debug.Log(Physics.Raycast(transform.position, -Vector3.up, (float)(distToGround + 0.1)));
        return Physics.Raycast(transform.position, -Vector3.up, (float)(distToGround + 0.1));


Here is a link to the settings of the ground (for some reason I wasn’t able to upload the screenshots):
A Link to a Cloud

You have a 2D collider attached to the ground object and your player. The raycast you are doing is for 3D space. Change Physics.Raycast to Physics2D.Raycast.

Link to Physics2D.Raycast: Unity - Scripting API: Physics2D.Raycast