2011-03-04 2 views

Répondre

1

Avec Android, il est en fait assez facile afin d'obtenir l'emplacement du service GPS. Utilisez le LocationManager la meilleure façon de le faire

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 

customLocationListener = new CustomLocationListener(); 

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

..... UN CODE Spagehtti ICI ..... GOES

class CustomLocationListener implements LocationListener{ ............ 
     public void onLocationChanged(Location argLocation) { 
     if(location != null) {  
     int latitude=(int)(argLocation.getLatitude()*1E6); 
     int longitude=(int)(argLocation.getLongitude()*1E6); 
       } 
     } ........ } 

pourrait également vérifier Location Android API et Android Development

1
Geocoder geo = new Geocoder(getApplicationContext(), Locale.getDefault()); 
List<Address> add; 
try 
{ 
    add = geo.getFromLocation(
       location.getLatitude(), 
       location.getLongitude(), 
       1 
      ); 

    if (add.size() > 0) 
    { 
     addl1=add.get(0).getAddressLine(0); 
     addl2=add.get(0).getAddressLine(1); 
     addl3=add.get(0).getAddressLine(2); 
    }     
} 

vous pouvez essayer cela, pour obtenir le nom de l'emplacement en le mettant dans le onLocationChanged.

0

En plus de tester cela en utilisant un émulateur que vous pourriez avoir besoin pour définir l'emplacement de l'extérieur, voir: How to emulate GPS location in the Android Emulator?

Ou même utiliser un MockLocationProvider/LocationManager.setTestProvider .. pour les tests unitaires. Oh et d'ailleurs: Si vous utilisez déjà un MapView, vous pouvez également être intéressé par l'utilisation d'un MyLocationOverlay. Il affichera votre position actuelle sur la carte. Et en le sous-classant, vous pouvez également connecter la méthode onLocationChanged pour insérer votre code d'emplacement personnalisé qui devrait être exécuté une fois que l'emplacement a été modifié.

0

utilisez le code suivant peut vous aider à trouver la ville actuelle

Geocoder geocoder=new Geocoder(getBaseContext(),Locale.getDefault()); 
try 
{ 
    String city=""; 
    List<Address> addresses= geocoder.getFromLocation(
     geoPoint.getLatitudeE6()/1E6, 
     geoPoint.getLongitudeE6()/1E6, 
     1 
    ); 
    if(addresses.size()>0) 
    { 
     city+=addresses.get(0).getSubAdminArea(); 
    } 
} 
catch (IOException e) 
{ 
    e.printStackTrace(); 
} 
Questions connexes