2016-07-27 79 views
0

我有地理编码器函数的“null”结果。我使用地理编码器显示latitide &经度的地址。这是我的代码项目的一部分。 如何固定?“null”地理编码器的结果

goecoder代码:

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

代码显示,使用帆布,而不是XML ..

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

你*总是*为空吗? – Hulk

+0

是的。纬度和经度自动检测。 –

回答

0

我假设你正在使用android.location.Geocoder。从文档引用:

如果找不到匹配项或者没有后端服务可用,则返回空列表或空列表。

因此,也许您的后端服务不可用 - 或者您位于它没有数据的位置。

相关问题