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());
}
}