长时间获取子区域为空?
Getting sub locality null for some lat long?
下面是我的代码,我总是得到 null subLocality ....
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(latitude,longitude, 1);
String suburb = addresses.get(0).getSubLocality();
String state = addresses.get(0).getAdminArea();
String zip = addresses.get(0).getPostalCode();
String country = addresses.get(0).getCountryName();
Log.e("Log for data",""+suburb+" "+state+" "+zip+" "+country);
以下是我的回复;
null Gujarat 380006 India
Geocoder API 将 return 值取决于 lat
long
,如果 API
数据库没有这些值例如:subLocality
那么它只会 return null
,据我所知,你无能为力。您必须优雅地处理这些情况,这样您的应用才不会崩溃。
处理这些情况包括你必须使用 if
检查条件是特定值是 null
或者它有一些值,因为如果你在代码中的某处使用任何值而没有检查该值是否为 null
,则只要该特定值出现 null
.
,应用程序可能会崩溃
我也有同样的问题,通过增加您从 Geocoder API 请求的结果数量解决了这个问题。
尝试将其增加到 10
List<Address> addresses = geocoder.getFromLocation(latitude,longitude, 10);
然后,如果您的分区在 first
结果中为空,请尝试在其余分区中搜索相同的
下面是我的代码,我总是得到 null subLocality ....
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(latitude,longitude, 1);
String suburb = addresses.get(0).getSubLocality();
String state = addresses.get(0).getAdminArea();
String zip = addresses.get(0).getPostalCode();
String country = addresses.get(0).getCountryName();
Log.e("Log for data",""+suburb+" "+state+" "+zip+" "+country);
以下是我的回复;
null Gujarat 380006 India
Geocoder API 将 return 值取决于 lat
long
,如果 API
数据库没有这些值例如:subLocality
那么它只会 return null
,据我所知,你无能为力。您必须优雅地处理这些情况,这样您的应用才不会崩溃。
处理这些情况包括你必须使用 if
检查条件是特定值是 null
或者它有一些值,因为如果你在代码中的某处使用任何值而没有检查该值是否为 null
,则只要该特定值出现 null
.
我也有同样的问题,通过增加您从 Geocoder API 请求的结果数量解决了这个问题。
尝试将其增加到 10
List<Address> addresses = geocoder.getFromLocation(latitude,longitude, 10);
然后,如果您的分区在 first
结果中为空,请尝试在其余分区中搜索相同的