当前位置: 首页 > 知识库问答 >
问题:

Android Geocoder返回空城市名称

壤驷乐邦
2023-03-14

我是Android开发的新手,下面是我的关于使用Geocoder获取当前位置的城市名称的代码,它返回空:

private void updateCurrentLocation(Location Location){double lat=0.0,lng=0.0;

    if (location != null) {
        lat = location.getLatitude();
        lng = location.getLongitude();
        Log.i("tag", "Latitute is" + lat + ", Longtitute is" + lng);
    } else {
        City_Name = "Unavailable";
    }
    List<Address> list = null;
    Geocoder geocoder = new Geocoder(this.getActivity());
    try {
        list = geocoder.getFromLocation(lat, lng, 1);
    } catch (IOException e) {
        e.printStackTrace();
    }

    //may provide multiple locations.

    if (list != null && list.size() > 0) {

            Address address = list.get(0);
            City_Name = address.getLocality();

    }
    Log.i("Try", "CityName:" + City_Name);
    //send empty message
    handler.sendEmptyMessage(1);
}

有谁能帮忙吗?谢谢你!顺便说一句,有没有更好的办法来接收一个城市名字?谢谢你!

共有1个答案

史默
2023-03-14

如果“getFromLocation”方法为您提供了一个空集,那么这是因为正在查找的服务器没有您传递给它的坐标的地址信息。文件中也提到了这一点。因此,我认为您应该放弃它,使用另一个服务,比如Google Maps geocoding service或OpenStreetMap项目中的Nominatim。

 类似资料:
  • 定义 选择城市的组件。 图片展示 代码演示 import City from 'pile/dist/components/city' <City show={false} // cityArr={cityArr} // 城市数组 // position= {cityArr[0]} //定位城市 // 城市对象的默认属性为 // city_id、city_name、firs

  • 问题内容: 如何使用MapKit从坐标获取地址? 当在地图上长按时,我得到了以下代码: 我想用完整的地址(街道,城市,邮政编码,国家)打印。 问题答案: SWIFT 4.2:编辑 框架确实提供了一种从坐标获取地址详细信息的方法。 您需要使用地图套件的 反向地理编码 。类用于从地址获取位置,并从位置(坐标)获取地址。该方法将从坐标返回地址详细信息。 此方法接受作为参数并返回,其中包含地址字典。 所以

  • 我有这样的代码,当长按地图时,它得到坐标: 并且我想在中打印完整的地址(街道、城市、邮编、国家)。

  • 提示 页面模板源码免费开源,在uni-app的插件市场uView的 示例项目 中,在右上角选择"使用 HBuilderX 导入示例项目" 或者 "下载示例项目ZIP", 在HX运行项目即可看到和使用模板。 这个界面功能,为城市选择示例,此仅为参考模板,如果演示达不到您想要的效果,请自行修改即可。

  • 请求地址 https://api.es.xiaojukeji.com/river/City/get 返回数据格式 JSON 请求方式 GET 请求参数 参数名称 数据类型 必选 说明 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的access token timestamp string yes 当前时间戳 sign

  • 我的城市是一款增量点击游戏。你需要点击收获原始资源,然后注意: 要用现金购买东西 研究需要脑力 运行事物需要能量 矿石可提供基础材料 水可作为消耗品 犯罪会让你付出代价...(尚未实施) 污染会使你生病