当前位置: 首页 > 面试题库 >

Geocoder并不总是返回值

咸高谊
2023-03-14
问题内容

我能够成功获取经/纬度并将其传递给地址解析器以获取地址。但是,我并不总是找回地址。似乎需要尝试几次?我不知道为什么。

此时我是否有更好的方法来获取地址?

public List<Address> getAddresses(){
          Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());
          List<Address> addresses = new ArrayList();
             try {
       addresses = geocoder.getFromLocation(latitude, longitude, 1);
      } catch (IOException e) {
       e.printStackTrace();
      }

      return addresses;
        }

我在这里调用此方法:

LocationListener onLocationChange=new LocationListener() {
        public void onLocationChanged(Location loc) {
            //sets and displays the lat/long when a location is provided
            String latlong = "Lat: " + loc.getLatitude() + " Long: " + loc.getLongitude();   
            latitude = loc.getLatitude();
            longitude = loc.getLongitude();

            List<Address> addresses = getAddresses();

            if(addresses.size() > 0 && addresses != null)
             zipcode = addresses.get(0).getPostalCode();

            Toast.makeText(getApplicationContext(), zipcode,Toast.LENGTH_SHORT).show();
        }

问题答案:

根据我的经验,Google
Geocoder并非总是能正常工作,我在地图上有几个固定点,当我点击叠加层时,它会弹出带有该经度/纬度地址的祝酒词,这些点不会改变,有时我在同一点上单击10次,但我只得到其中7个地址。

这很奇怪,但是就是这样,我刚刚修改了我的应用程序来解决该问题。



 类似资料:
  • 问题内容: 我一直在尝试对字符串进行地址解析以获取其坐标,但是我的程序总是崩溃,因为每次尝试使用它时,它都会返回。我已经尝试修复了几个小时,但没有任何反应。这是我的代码 问题答案: Geocoder并不总是返回值。您可以尝试在for循环中发送3次请求。我应该至少可以返回一次。如果不是这样,则可能是连接问题,也可能是其他问题,例如服务器不回复您的请求。尝试看看这些线程: Geocoder并不总是返回

  • 我是Android开发的新手,下面是我的关于使用Geocoder获取当前位置的城市名称的代码,它返回空: private void updateCurrentLocation(Location Location){double lat=0.0,lng=0.0; 有谁能帮忙吗?谢谢你!顺便说一句,有没有更好的办法来接收一个城市名字?谢谢你!

  • 问题内容: 结果始终为1: 我在phpMyAdmin中运行了$ sql查询,它返回3,所以查询不是问题。$ vote_total全局初始化为0,因此1来自某个地方。我还需要提供什么其他信息来帮助我? 谢谢,瑞安 问题答案: 返回选定的行数,而不是特定行的字段。使用来获取您与您的查询选择的行: 您还可以用来获取一行并获取特定字段: 这将获取第一行(从零开始)并返回第一字段(从零开始)。

  • 问题内容: 我已经写了这段简单的代码: 在我的情况当属。谁能建议/建议出什么问题了? 问题答案: 错误检查和处理是程序员的朋友。检查初始化和执行cURL函数的返回值。并在失败的情况下包含更多信息: *在 手动状态: 成功返回cURL句柄,错误返回 FALSE 。 我观察到该函数在您使用其参数且无法解析域时会返回。如果未使用该参数,则该函数 可能 永远不会返回。但是,请务必始终进行检查,因为该手册并

  • 我使用Ehcache 2.6.8作为Spring Boot应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存的内容(如果您感兴趣,可以在这里查看)。 首先,我使用CacheManager名称来获取缓存列表。这很好。我可以用返回缓存。然后我调用。这很好,cacheName是“com.myapp.DomainObjectName”,键被列为“

  • 问题内容: 我正在使用Google Maps API,并且每当我从codeLatLng函数将变量返回到initialize函数时,它都声明未定义。如果我从codeLatLng打印变量,它将显示正常。 打印出未定义 如果我做: 打印出美国纽约州纽约10012 问题答案: 您无法从函数返回值,该函数返回时该值尚不存在。 该方法进行异步调用并使用回调来处理结果,因此您必须在函数中执行相同的操作: