Why is my texture2D screenshot coming out as a grey box?

When I look up my problem online, people said the answer was to use Apply() after it, but so far that hasn’t worked. Any ideas?

public Texture2D MapShot()
    {
		mapScreen = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
		mapScreen.Apply();
		//Took the shot
        return mapScreen;
    }

Take a look here Unity - Scripting API: Application.CaptureScreenshot if you want to save the screenshot as a file.
Check this out: Unity - Scripting API: Texture2D.ReadPixels if you need the Texture2D