2012-06-19 5 views
11

J'ai deux périphériques. L'un est HTC WildFire S et l'autre est HTC 1V. J'ai utilisé le Geocoder.getFromLocationName() dans mon application. Il fonctionne avec succès dans le HTC wildfire S. Mais dans le HTC 1V j'ai eu l'erreur suivante. pourquoi c'est venu? Comment puis-je resoudre ceci? S'il vous plaît quelqu'un peut m'aider.android - Geocoder.getFromLocationName() ne fonctionne pas dans le périphérique ICS

code

Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault()); 
//s is the address 
List<Address> addresses = geoCoder.getFromLocationName(s, 5); //Here i got the following Exception. 

Erreur

06-18 16:28:17.933: W/System.err(4960): java.io.IOException: Service not Available 
06-18 16:28:17.953: W/System.err(4960):at android.location.Geocoder.getFromLocationName(Geocoder.java:178) 

Lieu Tab

enter image description here

+0

C'est juste un avertissement que le géocodage est pas disponible, vous avez la configuration de l'accès Internet sur le One V? Le géocodeur a besoin d'un accès Internet pour récupérer le résultat. EDIT: Votre application ne plante pas à ce stade est-ce? –

+1

Oui, j'ai la permission d'Internet. – naresh

+0

Oui mais l'appareil est-il connecté? Pouvez-vous naviguer sur le Web sur l'appareil au moment de vos tests? –

Répondre

-1
GeoPoint point = new GeoPoint(
         (int) (LATITUDE * 1E6), 
         (int) (LONGITUDE * 1E6)); 

String n; 

public void someRandomMethod() { 
     n = convertPointToLocation(point); 
} 



public String convertPointToLocation(GeoPoint point) { 
     String address = ""; 
     Geocoder geoCoder = new Geocoder(
       getBaseContext(), Locale.getDefault()); 
     try { 
      List<Address> addresses = geoCoder.getFromLocation(
        point.getLatitudeE6()/1E6, 
        point.getLongitudeE6()/1E6, 1); 

      if (addresses.size() > 0) { 
       for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++) 
        address += addresses.get(0).getAddressLine(index) + " "; 
      } 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 

     return address; 
    } 
+1

S'il vous plaît ne fournissez pas simplement le code pour votre réponse. Pourquoi est-ce * la * réponse? –

+1

Ce code n'est pas lié au problème ... – UmbySlipKnot

4

Enfin, j'ai trouvé la réponse: https://code.google.com/p/android/issues/detail?id=38009

Redémarrez votre appareil pour que Geocoder fonctionne. Il aide quelqu'un l'espoir

Note: certains disent que cela fonctionnera si vous utilisez Google API 16

+0

ça marche vraiment si j'utilise Google API 16? avec API 17 cela ne fonctionne pas ... – UmbySlipKnot

+0

Cette erreur arrivait dans Google Map API V1 .. je l'ai essayé sur Google Map v2 .. avec un peu de changement de syntaxe bien sûr et cela pourrait bien fonctionner sur tous les appareils Android. Note: Pour Google MAp V2, vous n'avez plus besoin d'importer des API Google –

+0

Dans mon application avec V2 Map, cela ne fonctionne pas ... De quel type d'importation faites-vous référence? – UmbySlipKnot

Questions connexes