2012-02-25 7 views
1

緯度と経度が指定されている場合は、私の場所の説明を取得するためにAndroid上でGoogleジオコーダサービスを使用しています。これまでのところ、現在の私の所在地である緯度が&と長くなっていますが、ジオコーダを使って地名や郵便番号などを取得するのに問題があるようです。以下は私のコードの一部です。アンドロイドのジオコーダの代わり

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
    try { 
     Geocoder myLocation = new Geocoder(this, Locale.getDefault()); 
     List<Address> myList = myLocation.getFromLocation(lat,lng, 1); 
     Log.v("IGA",""+myList.size()); 
     Address address = (Address) myList.get(0); 
     if (myList != null && myList.size() > 0) { 
      Toast.makeText(this, "country: " + myList.get(0).getCountryName(), Toast.LENGTH_LONG).show(); 
     } 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); 
    } 

myList.size()は常に0を返します。私のコードに何か問題があるかどうかわかりません。
googleで私はいくつかの手がかりを得て、これはアンドロイドオンラインドクターが言うことです:
Geocoderクラスは、コアアンドロイドフレームワークに含まれていないバックエンドサービスが必要です。プラットフォームにバックエンドサービスがない場合、ジオコーダークエリメソッドは空のリストを返します。ジオコーダーの実装が存在するかどうかを判断するには、isPresent()メソッドを使用します。
私はこのバックエンドサービスが何であるか分かりませんし、疲れているので、サードパーティのWebサービスが同じトリックを行うかどうか疑問に思うことはありません。事前に感謝しています!

答えて

2

ジオコーダは、デバイス上でのみ動作していますが、ジオコーダAPIのTHA avaiabilityにわからない場合、Googleは次のリンクを参照してくださいジオコーダAPIに代替としてAPIを休ま使用:でアドレスを取得するために

http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true

を緯度と経度を入力すると、jsonの代わりにxmlで結果を取得する場合はjsonの文字列で結果が返されます.jsonの代わりにxmlを使用します。

+0

が実際に動作し、1日あたりの接続時間がgoogle.thanksによって再び設定されていると考えられました。 – teedoo