首页 > 解决方案 > 地理编码在棒棒糖中返回空地址

问题描述

我在从纬度和经度获取位置地址时遇到问题,因为我正在使用地理编码器获取地址,它在 MarshMallow 及以上 5 台设备中运行良好,但在版本 5(棒棒糖)中无法运行,我想运行我在版本 5 中的代码也是。任何帮助表示赞赏并提前感谢

这是我的代码

if (this.geocoder == null) {
        this.geocoder = new Geocoder(this, Locale.getDefault());
    }

    try {
        List<Address> addresses = geocoder.getFromLocation(Double.parseDouble(lat), Double.parseDouble(lng), 1);
            if (!addresses.isEmpty()) {
            address = addresses.get(0).getLocality();
            PrefsManager.with(this).save(Constants.PREF_ADDRESS,addresses.get(0).getLocality());
            return addresses.get(0).getLocality();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

标签: android

解决方案


我已经在 android 5.1 版中使用虚拟 lat 和 lng 测试了您的代码。它工作正常。

这是我对您的建议,请使用断点调试您的代码。检查是地理编码问题还是其他问题。请检查您是否在权限检查块中获取 MarshMallow 版本的位置,而不是进入适用于棒棒糖和其他较低版本的其他部分。


推荐阅读