2017-02-24 4 views
0

Je suis en train de faire lat lng pour l'adresse suivante mais géocodage est incapable de trouver lat lng:Geocoder incapable d'obtenir lat lng de chaîne particulière dans Android?

Cascina Palazzetto n.9 - Strada Provinciale 134, POIRINO (TO) - 10046, Italia

et mon extrait de code est le suivant:

public static LatLng getLocationFromAddress(Context context, String strAddress) { 
    Geocoder coder = new Geocoder(context); 
    List<Address> address; 
    LatLng p1 = null; 
    try { 
     address = coder.getFromLocationName(strAddress, 5); 
     if (address == null) { 
      return null; 
     } 
     Address location = address.get(0); 
     location.getLatitude(); 
     location.getLongitude(); 
    p1 = new LatLng(location.getLatitude(), location.getLongitude()); 
    } catch (Exception ex) { 
     Timber.d("getLocationFromAddress(printStackTrace): " + ex); 
    } 
    return p1; 
} 

Edit 1:

de plus, je l'ai essayé avec settin g locale manuellement avec l'Italie sur geo coder mais je ne peux pas encore obtenir des résultats.

+1

Ouais il est ressemble à travailler sur l'API REST, mais ne sais pas pourquoi pas sur Android. http://maps.google.com/maps/api/geocode/json?address=Cascina%20Palazzetto%20n.9%20-%20Strada%20Provinciale%20134,%20POIRINO%20(TO)%20-% 2010046,% 20Italia & capteur = false –

+0

Pouvez-vous fournir des journaux? – Cottontree

+0

L'objet de liste Adresse a la taille 0 plutôt que je suis incapable d'obtenir des informations de journal. –

Répondre

0

Essayez d'exécuter la boucle pour la liste d'adresses et lorsque vous obtenez lat, boucle longue pause.

Comme,

public static LatLng getLocationFromAddress(Context context, String strAddress) { 
     Geocoder coder = new Geocoder(context); 
     List<Address> address; 
     LatLng p1 = null; 
     try { 
      address = coder.getFromLocationName(strAddress, 5); 
      if (address == null) { 
       return null; 
      } 

      for(int i=0;i<address.size();i++) 
      { 


      Address location = address.get(i); 

      if(location.getLatitide!=0 && location.getLongitude!=0) 
      { 
         location.getLatitude(); 
         location.getLongitude(); 
         p1 = new LatLng(location.getLatitude(),      location.getLongitude()); 

        break; 
      } 
     } 
     } catch (Exception ex) { 
      Timber.d("getLocationFromAddress(printStackTrace): " + ex); 
     } 
     return p1; 
    } 
+0

mais je reçois la taille de tableau 0 donc le scénario sera le même. –

+0

taille de Marque à 10 et essayer => = adresse coder.getFromLocationName (strAddress, 10); – Ragini

+0

même résultat .... –