Why does my save use the initial value of my TextBox and not the entered value?

This is because the Page_Load event happens before your method setCoordinates is called. This mean that the Latitude.Text value is the same as before.

You should change the load function so it does not always set the initial value of the textbox.

By changing the page_load event with !Page.IsPostBack, the only time the initial value is given, is the first time the page originaly loads.

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack) 
    {
        Latitude.Text = thisPlace.Latitude;
    }
}

I think its because PostBack

If you're calling setCoordinates() on some button's click event textbox's new value will be lost. If that's right change Page_Load like this one

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        Latitude.Text = thisPlace.Latitude;
    }    
}