Vector3.Lerp not working properly, making the player bounce around


I’m doing something really simple. I’ve done harder scripts than this and yet I’m all out of ideas.

Basically, I’m landing a player from the air onto the runway. First, the player enters the “Landing zone”. Then this script takes over controls and lands the player. Here it is:

using UnityEngine;
using System.Collections;

public class LandThePlayer : MonoBehaviour {

    public GameObject PlayerCamera;
    public GameObject LandCamera;
    public GameObject Player;
    public GameObject LandTrigger;
    public GameObject StopPosition;
    public bool PlayerIsLanding;
    public float LandingTime;
	// Use this for initialization
	void Start ()
	// Update is called once per frame
	void Update ()
	    if(PlayerIsLanding == true)

    //I have a trigger detecting when the player enters a zone to start the landing
    void OnTriggerEnter(Collider other)
        if (other.gameObject.CompareTag("Player"))
            PlayerIsLanding = true;
            Debug.Log("Starting to land the player");

    void SwitchCameras()
        //this part simply turns off the player's camera and turns on a landing camera
        //this is totally for looks and doesn't affect anything else

    void LandPlayer()
        //PlayerFromPoint is where the player is starting to land
        Vector3 PlayerFromPoint = LandTrigger.transform.position;
        //StopPosition is the end of the player's landing
        Vector3 PlayerToPoint = StopPosition.transform.position;
        //let's move the player
        Player.transform.position = Vector3.Lerp(PlayerFromPoint, PlayerToPoint, Time.deltaTime);
        //and let's spam the console
        Debug.Log("Player is landing");

Everything should be working, but the player simply bounces around the PlayerFromPoint, not moving any closer to the PlayerToPoint. What could be wrong with this script? Or should I try something else to achieve the same result?

Thanks for your ideas!

P.S. In case you’re wondering how I got some of this code:

ScriptReference - Vector3.Lerp

Interpolates between the vectors a and
b by the interpolant t. …

When t = 0
returns a. When t = 1 returns b. When
t = 0.5 returns the point midway
between a and b.

float elapsedTime = 0f;
elapsedTime += Time.deltaTime;
Vector3.Lerp(a, b, elapsedTime);

The difference between your code and the youtube movie is that your start and end position is always the same. In the video the start position each time get’s a little bit closer to the end point. Notice that this is not linear method to move.
The answer of Jessespike is ok but notice that the time to lerp from a to b is 1 second. You will have to recalculate elapsed time to get a longer time span.