2013-07-31 24 views
5

Google API v2を使用して住所を取得しようとしています。ここでGeocoder getFromLocation()がnullではなくサイズ0の場合常に

は、私が何をすべきかです:

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
      List<Address> addresses = null; 
      String addressText = ""; 
      try { 
       while (addresses==null){ 
        addresses = geocoder.getFromLocation(userLocation.latitude, 
          userLocation.longitude, 1); 
       } 

       if (addresses != null && addresses.size() > 0) { 
        Address address = addresses.get(0); 
        addressText = String.format(
          "%s, %s, %s", 
          address.getMaxAddressLineIndex() > 0 ? address 
            .getAddressLine(0) : "", address 
            .getLocality(), address.getCountryName()); 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

私はいくつかの記事を読んで、getFromLocation()要求は常に結果を取得していないことを見出しました。だから私はそれをルーピングしようとした。

これはクラッシュしませんが、addressTextは常に ""どんなアイデアですか? 私のアプリにインターネットアクセス権が与えられました。私はGPSを使いません。

userLocationがnullでないため、問題はありません。マップにマーカーを追加しても問題ありません。正常に動作します。ジオコーダーの問題であるようです。

+0

結果の数を上げようとしましたか?例えば'addresses = geocoder.getFromLocation(userLocation.latitude、userLocation.longitude、10);'技術的にそれは重要ではない、ちょうど「興味がある」! – iaindownie

+0

いいえ、残念ながらそれは動作しません。しかし、あなたの迅速な返信に感謝:) –

答えて

5

あなたは、このリンクからあなたのソリューションを得ることができ、GoogleのAPI

を使用してジオコーダ 2を使用して2つの方法 1でアドレスを取得することができます。それには両方の解決策があります。私の答えはGoogle APIソリューションにアクセスしてください。私はこの問題を解決するためにうまく管理

Get the particular address using latitude and longitude

+0

私はあなたの答えを確認した、私は質問が、オブジェクトのどのタイプのparser_Jsonですか? –

+0

JSON Parsingクラスです。指定されたURLからJSONオブジェクトを返します。 –

+0

特別輸入品ですか?私はそれを見つけることができません... –

1

...私のコードは)(getFromLocationに利用できないサービスの例外を投げていました。

詳細はここで見つけることができます:https://code.google.com/p/android/issues/detail?id=38009

私は自分のデバイスを再起動し、それが今で正常に動作します。あなたのすべての協力に感謝します!

-1

TRY再起動デバイス! 私のコードがgeocoder.getFromLocation(lat、lng、1)でクラッシュしました。 (IOException e) しかし、多くのアクセス許可、コードの変更などを試した後、私は単に私の携帯電話をオン/オフにした。それは働いた...私はLinuxカーネルはウィンドウよりも良いと考えられていた、すなわち再起動が必要ないと思った?

0

皆さんは緯度と経度を入れ替えていないことをもう一度確認します:D大西洋の真ん中に住所を尋ねてきましたが、実現には約3時間かかりました。

また、エミュレータGPSを使用すると、少なくとも私が見つけたGoogle Mapsを起動して、プレイサービスの場所の情報を初期化する必要があります。

関連する問題