addressList大小为0 Google Maps

时间:2016-04-25 03:57:47

标签: android google-maps google-geocoder

我正在尝试使用谷歌地图。我有这段代码:

        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));
        }
    }

但我收到了这个: addressList size 0.错误“java.lang.IndexOutOfBoundsException:索引0无效,大小为0” location是我的变量,但工作正常。我究竟做错了什么?非常感谢。

1 个答案:

答案 0 :(得分:1)

获得零结果的可能性

  

列表getFromLocationName(String locationName,int maxResults):返回:Address对象列表。如果未找到匹配项或没有可用的后端服务,则返回null或空列表。

在调用Geocoder的任何方法获取地址或结果之前,请检查Geocoder服务是否可以使用Geocoder.isPresent()实现

if(Geocoder.isPresent()){
    //do your stuff
}else{
   //cann't implement geocoder
}