地址列表大小为 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
}