obtenir la position actuelle de l'emplacement android

Location.java

package com.localisation;
import java.io.IOException;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
public class localisation extends Activity implements OnClickListener, LocationListener{
private LocationManager lManager;
private Location location;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//On spécifie que l'on va avoir besoin de gérer l'affichage du cercle de chargement
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.main);
//On récupère le service de localisation
lManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
//On affecte un écouteur d'évènement aux boutons
findViewById(R.id.obtenir_position).setOnClickListener(this);
}
//Méthode déclencher au clique sur un bouton
public void onClick(View v) {
obtenirPosition();
}
}
private void afficherLocation() {
//On affiche les informations de la position a l'écran
((TextView)findViewById(R.id.latitude)).setText(String.valueOf(location.getLatitude()));
((TextView)findViewById(R.id.longitude)).setText(String.valueOf(location.getLongitude()));
((TextView)findViewById(R.id.altitude)).setText(String.valueOf(location.getAltitude()));
}
public void onProviderDisabled(String provider) {
//Lorsque la source (GSP ou réseau GSM) est désactivé
Log.i("Tuto géolocalisation", "La source a été désactivé");
//...on affiche un Toast pour le signaler à l'utilisateur
Toast.makeText(localisation.this,
String.format("La source \"%s\" a été désactivé", provider),
Toast.LENGTH_SHORT).show();
//... et on spécifie au service que l'on ne souhaite plus avoir de mise à jour
lManager.removeUpdates(this);
//... on stop le cercle de chargement
setProgressBarIndeterminateVisibility(false);
}
public void onProviderEnabled(String provider) {
Log.i("Tuto géolocalisation", "La source a été activé.");
}
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.i("Tuto géolocalisation", "Le statut de la source a changé.");
}
}

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:text="Latitude" 
android:id="@+id/TextView01"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:gravity="center" 
android:layout_marginLeft="10dip" />
<EditText android:text="0.0" 
android:id="@+id/latitude"
android:layout_height="wrap_content" 
android:layout_alignParentRight="true"
android:editable="false"
android:focusable="false"
android:gravity="center" 
android:layout_marginRight="10dip"
android:layout_width="150dip" />
<TextView android:text="Longitude" 
android:id="@+id/TextView02"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/longitude" 
android:layout_alignTop="@+id/longitude"
android:gravity="center" 
android:layout_marginLeft="10dip" />
<EditText android:text="0.0" 
android:id="@+id/longitude"
android:layout_height="wrap_content" 
android:layout_alignParentRight="true"
android:editable="false"
android:focusable="false"
android:gravity="center" 
android:layout_marginRight="10dip"
android:layout_width="150dip" 
android:layout_below="@+id/latitude" />
<TextView android:text="Altitude" 
android:id="@+id/TextView03"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/altitude" 
android:layout_alignTop="@+id/altitude"
android:gravity="center" 
android:layout_marginLeft="10dip" />
<EditText android:text="altitude" 
android:id="@+id/altitude"
android:layout_height="wrap_content" 
android:layout_alignParentRight="true"
android:editable="false"
android:focusable="false"
android:gravity="center" 
android:layout_marginRight="10dip"
android:layout_below="@+id/TextView02" 
android:layout_width="150dip" />
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_below="@id/TextView03" 
android:layout_centerHorizontal="true"
android:layout_marginTop="10dip">
<Button android:layout_height="wrap_content" 
android:id="@+id/obtenir_position"
android:text="Obtenir Position" 
android:layout_width="100dip" />
</LinearLayout>
</RelativeLayout>

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.localisation"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".localisation"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</application>
</manifest>

j'ai un problème dans ces codes. Mon objectif est de déterminer ma position (longitude, la latitude et l'altitude.

Dans une base de données, j'ai quelques endroits définis par (longitude, la latitude et l'altitude et que je veux déterminer le plus près de la place. (avec google Map API (sans l'affichage de la carte)

Pouvez-vous m'aider s'il vous plaît et m'expliquer en détails ce que je fais maintenant?

Merci beaucoup

OriginalL'auteur User616263 | 2011-03-15