2016-07-27 9 views
0

ジオコーダ機能の結果が「null」です。私はlatitudeからアドレスを表示するためにジオコーダを使用します&経度。これは私のコードプロジェクトの一部です。 その固定方法ジオコーダの「null」結果

goecoderコード:XML表示キャンバスを使用し、しないように

public void getMyLocationAddress() { 
    Geocoder geocoder= new Geocoder(this, Locale.ENGLISH); 
    try {  
      //Place your latitude and longitude 
      List<Address> addresses = geocoder.getFromLocation(latMosque,lonMosque, 1); 

     if(addresses != null) { 

       Address fetchedAddress = addresses.get(0); 
       StringBuilder strAddress = new StringBuilder(); 

       for(int i=0; i<fetchedAddress.getMaxAddressLineIndex(); i++) { 
        strAddress.append(fetchedAddress.getAddressLine(i)).append("\n"); 
       }   
      lokasi ="lokasi : "+strAddress.toString(); 

      } 
      else 
      lokasi = "lokasi tidak ditemukan"; 
    } 
    catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      Toast.makeText(getApplicationContext(),"Could not get address..!", Toast.LENGTH_LONG).show(); 
    } 
} 

コード..

protected void onDraw(Canvas canvas) { 
    Paint paint = mPaint; 
    Paint paint5 =mPaint; 
    paint5.setTextSize(20); 
    paint5.setColor(Color.RED); 

    canvas.drawText("Alamat : "+ lokasi , 50, 100, paint5); 
} 
+0

あなたは*常に* nullを取得しますか? – Hulk

+0

はい..緯度と経度は自動的に検出されます。 –

答えて

0

私はあなたがandroid.location.Geocoderを使用していると仮定。ドキュメントからの引用:

一致するものが見つからなかった場合、または利用可能なバックエンドサービスがない場合は、nullまたは空のリストを返します。

おそらく、バックエンドサービスが利用できない場合や、データがない場所にいる場合などです。

関連する問題