2011-04-24 3 views
0

HI J'ai essayé d'exécuter ce code à partir d'un exemple dans un livre mais tout ce que je reçois est la valeur nulle transmise à la variable et donc je reçois seulement le message "Votre position actuelle est : aucun emplacement trouvéLes coordonnées GPS ne sont pas récupérées

Le fichier manifeste est comme ci-dessous

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".MainActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 

Le fichier main.xml est

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
    > 
    <TextView 
     android:id="@+id/myLocationText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" 
     /> 
    </LinearLayout> 

Enfin est le MainActivity.java

package com.snooze.android.geopositioning; 
    import android.app.Activity; 
    import android.content.Context; 
    import android.location.Location; 
    import android.location.LocationManager; 
    import android.os.Bundle; 
    import android.widget.TextView; 
    public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LocationManager locationManager; 
    String context = Context.LOCATION_SERVICE; 
    locationManager = (LocationManager)getSystemService(context); 
    String provider = LocationManager.GPS_PROVIDER; 
    Location location = locationManager.getLastKnownLocation(provider); 
    updateWithNewLocation(location); 
    } 
    public void updateWithNewLocation(Location location) 
    { 
String latLongString; 
TextView myLocationText; 
    myLocationText = (TextView)findViewById(R.id.myLocationText); 
    if (location != null) 
    { 
    double lat = location.getLatitude(); 
    double lng = location.getLongitude(); 
    latLongString = "Lat:" + String.valueOf(lat) + "\nLong:" + String.valueOf(lng); 
    } 
    else 
    { 
    latLongString = "No location found"; 
    } 
    myLocationText.setText("Your Current Position is:\n" + latLongString); 
    } 
    } 

Ceci est mon premier projet donc je ne suis pas familier avec quelques-unes des travaux, mais je copiais tout comme le livre l'a dit mais ça ne marche pas. J'ai essayé différentes choses sur de nombreux sites, ainsi que des réponses de ce forum .... mais en vain. Ce que je pense, c'est que les coordonnées ne sont pas transmises aux variables. S'il vous plaît aider

Répondre

0

Vous devez utiliser des retraits et des paragraphes dans votre code, le rend plus lisible.

De plus, pour afficher une carte, il existe un 'MapActivity' qui vous fournit déjà certaines fonctionnalités (comme le zoom par exemple). Pour que cela fonctionne, vous avez également besoin de la bibliothèque 'API Google' dans votre manifeste Android, et la permission Internet est nécessaire (pour obtenir les cartes). Vous devriez lire this tutorial sur la façon de faire tout cela correctement.

2

Vous devez ajouter l'autorisation android.permission.ACCESS_FINE_LOCATION ou android.permission.ACCESS_COARSE_LOCATION pour utiliser le GPS dans votre fichier manifeste

Questions connexes