java Android - Problème de récupération de coordonnées gps
bonjour,
je développe actuellement une application android qui utilise la geolocalisation et je suis confronté à un petit problème. J'aimerais récupéré la position actuelle de l'utilisateur , lorsque je clique sur un bouton, seulement niveau code j'ai un peu de mal.
voici ce que j'ai :
Code:
1 2 3 4
|
private GoogleMap GMap;
private LatLng position1 =new LatLng(3.881501,11.50818); // 1er soucis, au lieu de mettre de coordonées, si je met GMap.getMyLocation().getLatitude(),GMap.getMyLocation().getLongitude()
ça me retourne un nullPointerException :s |
voici ma methode OnCreate
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnactualiser = (Button) findViewById(R.id.actualiser);
try
{
//on récupère le fragment définit dans le layout qui va contenir la carte
GMap= ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
//on s'assure que l'objet map n'est pas vide
if(GMap!=null){
//mode d'affichage de la carte
GMap.setTrafficEnabled(true);
//on autorise l'api à afficher le bouton pour accéder à notre position courante
GMap.setMyLocationEnabled(true);
//définition du marqueur qui va se positionner sur le point qu'on désire afficher
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.title("Ma position");
markerOptions.visible(true);
markerOptions.position(position1); //ici on se position à l'emplacement prédéfini, seulement moi je veux qu'il se positionne où je suis
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
//ajout du marqueur sur la carte
GMap.addMarker(markerOptions);
//zoom de la caméra sur la position qu'on désire afficher
GMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position1, 16));
//animation le zoom toute les 2000ms
GMap.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);
}
}
catch(Exception erreur)
{
Toast.makeText(MainActivity.this, "Erreur :" + erreur.toString(), Toast.LENGTH_LONG).show();
}
//ecouteur quand on appuie sur le bouton actualiser
btnactualiser.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// ...............
//...................
try
{
.................
}
catch(Exception erreur)
{
Toast.makeText(MainActivity.this, "Erreur :" + erreur.toString(), Toast.LENGTH_LONG).show();
}
}
}); |
lorsque j'utilise GetMyLocation().GetLatitude, j'ai l'impression que ces methodes sont obsolètes, et j'ai du mal à savoir quoi utilisé ?
Un grand merci pour vos conseils !