0

私はすでに緯度と経度を持っています、私はほとんどすべての場所を取得していますが、郵便番号は常にnullであり、住所は通りの名前と番号を示しています。これは私のコードです...助けてくれてありがとう..

Geocoder geocoder;
          List<Address> addresses;
          geocoder = new Geocoder(this, Locale.getDefault());
          try {
            addresses = geocoder.getFromLocation(lat, lng, 1);
            Address ad = addresses.get(0);
               address = ad.getAddressLine(0);
               country = ad.getCountryName();
               postalcode = addresses.get(0).getPostalCode();
               city = ad.getLocality();
               state = ad.getAdminArea();
4

2 に答える 2

1

はい、Geocoder Address は、特定のフィールドに値がない場合、フィールドに対して null を返します。あなたが郵便番号のnullを取得しているように。Geocoder アドレス リストのフィールド値を使用する前に、常に null チェックを実行します。

于 2013-02-08T17:24:32.880 に答える
0

あなたがやろうとしていることは逆ジオコーディングと呼ばれ、これを行うにはサードパーティのサービスを使用する必要があります. これらのリンクをこちらでご覧ください

これらのサービスの中には、他のサービスよりも優れた結果をもたらすものもありますが、それらに頼ることはできません. 結果が返された場合 (または部分的な結果が返された場合) は、すばらしいことです。ただし、何も返されない可能性があることを期待してください。

于 2013-02-08T17:18:07.060 に答える