Ajuda com API Location

Olá Pessoal,
Estou precisando de uma ajuda com a API Location para a minha aplicação.
No momento, consigo pegar a latitude e a longitude da minha localização(Código abaixo).
O que eu estou precisando é: definir uma localização que seja central, por exemplo um shopping em uma cidade e que de acordo com a minha localização, ela diga quantos metros estamos de diferença. Essa é a primeira parte.
A segunda, seria plotar no mapa essa diferença.
Alguém pode me ajudar?

package br.com.android;

import android.app.Activity;
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.content.Context;
import android.content.Intent;
import android.widget.Button;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;

public class AvatyActivity extends Activity {
	/** Called when the activity is first created. */

	private Button botaoMinhaLocalizacao, botaoPlotarNoMapa;
	private TextView minhaLatitude;
	private TextView minhaLongitude;
	private Location location;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);



		minhaLatitude = (TextView) findViewById(R.id.txtLatitude);

		minhaLongitude = (TextView) findViewById(R.id.txtLongitude);



		botaoMinhaLocalizacao = (Button) findViewById(R.id.btnGps);

		botaoMinhaLocalizacao.setOnClickListener(new Button.OnClickListener() {

			public void onClick(View v){

				comecar();

			}});
		

		botaoPlotarNoMapa = (Button) findViewById(R.id.btnMapa);

		botaoPlotarNoMapa.setOnClickListener(new Button.OnClickListener() {

			public void onClick(View v){

				Intent i = new Intent(AvatyActivity.this, Mapa.class);
				startActivity(i);

			}});

	}

	public void comecar()

	{

		LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
		Criteria criteria = new Criteria();
		String provider = locationManager.getBestProvider(criteria, false);
		location = locationManager.getLastKnownLocation(provider);



		LocationListener locationListener = new LocationListener() {

			public void onLocationChanged(Location location) {

				minhaLocalizacao(location);

			}



			public void onStatusChanged(String provider, int status, Bundle extras) {}



			public void onProviderEnabled(String provider) {}



			public void onProviderDisabled(String provider) {}

		};

		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

	}

	public void minhaLocalizacao(Location location)

	{

		Double latPoint = location.getLatitude();
		Double lngPoint = location.getLongitude();

		minhaLatitude.setText(latPoint.toString());
		minhaLongitude.setText(lngPoint.toString());

	}




}