反向地理编码不显示地址

Posted

技术标签:

【中文标题】反向地理编码不显示地址【英文标题】:reverse geocoding don´t show address 【发布时间】:2018-01-27 18:48:53 【问题描述】:

我使用谷歌地图的反向地理编码来获取地址,第一次工作时,完全输入地址,但现在它只显示纬度和经度,没有名字,在任何地址。

有人可以帮助我吗?

我的代码:

private class GetAddressTask extends AsyncTask<Location, Void, String> 

    @Override
    protected String doInBackground(Location... params) 
        Geocoder geocoder = new Geocoder(MainActivity.this);
        Location loc = params[0];
        List<Address> addresses = null;

        try 
            addresses = geocoder.getFromLocation(loc.getLatitude(), loc.getLongitude(), 1);
         catch (IOException e) 
            return null;
        

        if( addresses != null && addresses.size() > 0 ) 
            Address addr = addresses.get(0);
            String addressText = addr.getAddressLine(0);
            updateLastStreet(addressText, MainActivity.this);
            return addressText;
        

        return null;
    

【问题讨论】:

这可能会有所帮助:***.com/questions/47070264/… 【参考方案1】:

您是否缺少 android.Manifest 文件中的权限,然后添加此

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

试试这个方法:

public List<Address> getAddress(LatLng point) 
    try 
        Geocoder geocoder;
        List<Address> addresses;
        geocoder = new Geocoder(this);
        if (point.latitude != 0 || point.longitude != 0) 
            addresses = geocoder.getFromLocation(point.latitude ,
                    point.longitude, 1);
            String address = addresses.get(0).getAddressLine(0);
            String city = addresses.get(0).getAddressLine(1);
            String country = addresses.get(0).getAddressLine(2);
            return addresses;

         else 
            Toast.makeText(this, "Coordinates are null",
                    Toast.LENGTH_SHORT).show();
            return null;
        
     catch (Exception e) 
        e.printStackTrace();
        return null;
    

【讨论】:

以上是关于反向地理编码不显示地址的主要内容,如果未能解决你的问题,请参考以下文章

反向数据编码是啥

谷歌地图反向地理编码不返回正确/准确的地址

从反向地理编码中获取地址

黑莓缓存反向地理编码地址信息与邻近度

反向地理编码不返回邮政编码

对交叉点进行反向地理编码