2012-07-24 52 views
0

我想获取用户位置使用GPS,但我需要转换lat和long来解决,但geocoder不断给出错误gc是未定义的。地理编码器未定义?

public class MyLocationListener implements LocationListener{ 

      public void onLocationChanged(Location loc){ 

       try{ 
       Geocoder gc = new Geocoder(this, Locale.ENGLISH); 
       List <Address> addr = gc.getFromLocation(loc.getLatitude(),loc.getLongitude(),1); 
       if (addr != null && addr.size() > 0){ 
        Address address = addr.get(0); 
        String results = address.getAddressLine(0); 
        Toast.makeText(getApplicationContext(),results,Toast.LENGTH_LONG).show(); 
       } 

       }catch(Exception e){ 

       } 

      } 

回答

1

检查进口有这个

import android.location.Geocoder; 

而且也

这是指您LocationListener的类。所以把你的activityname.this而不是这个

Geocoder gc = new Geocoder(youractivityname.this, Locale.ENGLISH); 
+0

嗨,已经导入,有没有在下面的代码中的错误? – 2012-07-24 09:12:21

+0

使用地理编码器gc = new Geocoder(yourActivityname.this,Locale.ENGLISH); – Shalini 2012-07-24 09:29:39

+0

您好,我宣布的结果会返回地址名称还是街道名称? – 2012-07-24 10:21:26