地址列表大小为 0 Google
addressList size is 0 Google Maps
我正在尝试使用 google 地图。我有这个代码:
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.getUiSettings().setZoomControlsEnabled(true);
List <Address> addressList = null;
if (location != null || !location.equals("")){
Geocoder geocoder = new Geocoder(this);
try {
addressList = geocoder.getFromLocationName(location, 1);
}catch (IOException e){
e.printStackTrace();
}
Address address = addressList.get(0);
LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude());
mMap.addMarker(new MarkerOptions().position(latLng).title(location));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));
}
}
但是我收到了这个: 地址列表大小 0。错误 "java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0" 位置是我的变量,但工作正常。我究竟做错了什么?非常感谢。
获得零结果的可能性是
List getFromLocationName (String locationName, int maxResults) : returns : a list of Address objects. Returns null or empty list if no matches were found or there is no backend service available.
并且在调用 Geocoder 的任何方法以获取地址或结果之前,检查 Geocoder 服务是否可以使用 Geocoder.isPresent()
来实现if(Geocoder.isPresent()){
//do your stuff
}else{
//cann't implement geocoder
}