【问题标题】:Geocoder getFromLocationName() not working, returning 0 values地理编码器 getFromLocationName() 不起作用,返回 0 个值
【发布时间】:2019-04-06 19:10:16
【问题描述】:

我想获得与传递的字符串更相似的 5 个地址的列表,但有些东西不起作用。

例如,如果我写“avenida”,西班牙有数千条“avenida”街道,但 getFromLocationName 方法返回 0。

private void getAddressInfo(Context context, String locationName){
        Geocoder geocoder = new Geocoder(context);
        try {
        List<Address> a = geocoder.getFromLocationName(locationName, 5);
        for(int i=0;i<a.size();i++){
            String city = a.get(0).getLocality();
            String country = a.get(0).getCountryName();
            String address = a.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex()
            addressList.add(address+", "+city+", "+country);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

代码有问题吗?

【问题讨论】:

  • 也许这太笼统了。如果您提供更具体的内容,您会得到结果吗?
  • @CommonsWare 不,没有结果,或者没有意义的结果,例如我记得从其他国家看到过一次但不相关的结果。有些事情真的很糟糕
  • 几个月没用Geocoder了。它由一些谷歌服务器支持;也许那里出了什么问题。
  • @CommonsWare 我不这么认为,我从一周前开始就遇到了这个问题

标签: android location android-location geocoder


【解决方案1】:

我刚刚在代码中确认了这一点;它的工作方式是给它一个有效的地名,比如地址。它不需要一座城市。那么它应该给你一个它找到的尽可能多的列表。没有预期的那么有用。街道或企业名称似乎不起作用。 :-(

如果我在没有城市的情况下完成 2000 年东主线,我会获得成功

如果我做东主我得到 0

I am going to use this instead

【讨论】:

  • 我能用它做什么?
  • 我还没有实现它,但你告诉它要搜索哪些字段,它会启动一个返回匹配列表的任务。因此,如果我为街道等地址的一部分添加一个字段,然后在它返回匹配项的构建器中添加查询。该项目本身只是places api的演示。
  • 它是如何工作的?我启动了演示项目,我可以看到三个按钮,但是当你按下它们时它们什么都不做
  • 如果您发布有关当前地点演示的另一个问题,我将回答我是如何进行的
  • 据我所知,这需要启用计费,所以这是按使用付费的事情。还是不行?
猜你喜欢
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 2015-12-08
  • 1970-01-01
相关资源
最近更新 更多