在Google地图中为搜索框添加条件?

时间:2014-02-25 09:49:22

标签: java android google-maps search

我是Android的新手,正致力于使用Google Maps V2开发应用。我设计了地图,每件事都可以。我在顶部放置了一个文本框和按钮,帮助用户搜索他想要的任何位置,并将此底部方法用于搜索操作。当用户输入无效的问题时,应用程序崩溃了。 我想在这种方法中添加条件,当用户输入无效位置时,会出现吐司(请输入有效位置)

请帮帮我

public void search(View v) throws IOException{

    EditText textbox = (EditText) findViewById(R.id.editText1);
    String location = textboxt.getText().toString();
    if (location.length() == 0) {
        Toast.makeText(this, "Please Enter a location", Toast.LENGTH_SHORT).show();
        return;
    }

    Geocoder gc = new Geocoder(this);
    List<Address> list = gc.getFromLocationName(location, 1);
    Address add = list.get(0);
    String locality = add.getLocality();
        double lat = add.getLatitude();
    double lng = add.getLongitude();
    LatLng ll = new LatLng(lat, lng);
    Gmap.moveCamera(CameraUpdateFactory.newLatLng(ll));
            // zoom in Google map
            Gmap.animateCamera(CameraUpdateFactory.zoomTo(20));

1 个答案:

答案 0 :(得分:1)

如果我没有错,你可以List<Address> listlist.size()==0核对,然后就可以了。试试:

try{

if(list.size()!=0){
//Your code
}else{
 //Error Message
 } 

}catch(Exception e){
e.printStackTrace();

}

更新:尝试以一种方式实现您的代码:

public void search(View v){

EditText textbox = (EditText) findViewById(R.id.editText1);
String location = textboxt.getText().toString();
if (location.length() == 0) {
    Toast.makeText(this, "Please Enter a location", Toast.LENGTH_SHORT).show();
}else{

try{

Geocoder gc = new Geocoder(this);

List<Address> list = gc.getFromLocationName(location, 1);


if(list.size()!=0){

Address add = list.get(0);
String locality = add.getLocality();
    double lat = add.getLatitude();
double lng = add.getLongitude();
LatLng ll = new LatLng(lat, lng);
Gmap.moveCamera(CameraUpdateFactory.newLatLng(ll));
        // zoom in Google map
        Gmap.animateCamera(CameraUpdateFactory.zoomTo(20));
}else{
 Toast.makeText(this, "Location not found", Toast.LENGTH_SHORT).show();
 } 

}catch(Exception e){
e.printstacktrace();

      }
    }
  }