2017-02-24 7 views
0

ジオコーダーはアンドロイドの特定の文字列から緯度経度を取得できませんか?私は、次のアドレスの緯度LNGを取得しようとしていますが、ジオコーダは、緯度、LNGを見つけることができません

カッシーナPalazzettoののn.9 - ストラーダProvinciale 134、ポイリーノ(TO) - 10046、イタリア

次のように

と私のコードスニペットは、次のとおりです。

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; 
} 

編集1:また

、私は設して試してみましたgのロケールをイタリアで手動でジオコーダーに登録しても、結果は得られません。

+1

うん、それはRESTのAPIに取り組んだように見えますが、なぜないアンドロイドのかわかりません。 http://maps.google.com/maps/api/geocode/json?address=Cascina%20Palazzetto%20n.9%20-%20Strada%20Provinciale%20134,%20POIRINO%20(TO)%20-% 2010046、%20Italia&sensor = false –

+0

ログを提供できますか? – Cottontree

+0

Listオブジェクトのアドレスは、ログから情報を得ることができないのではなく、サイズが0です。 –

答えて

0

アドレスリストのループを実行して、緯度、長時間のブレークループを取得しようとします。

と同様に、

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

しかし、私は配列のサイズが0になるので、シナリオは同じになります。 –

+0

サイズを10にして、=> address = coder.getFromLocationName(strAddress、10);を試してください。 – Ragini

+0

同じ結果.... –

関連する問題