2016-02-19 94 views
1

我认为这可能是一些人愚蠢的问题,但我不知道为什么我没有得到它。我的问题是,我得到由谷歌Places API的纬度和经度如何验证谷歌的地方AutoCompleteTextView

代码:

Geocoder geoCoder new Geocoder(this); 
AutoCompleteTextView fAPSearchLocationEt; 


     fAPSearchLocationLayout.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 


      try { 

       List<Address> returnedaddresses = geoCoder.getFromLocationName(fAPSearchLocationEt.getText().toString(),1); 

       if(returnedaddresses != null){ 

        String latForVol = String.valueOf(returnedaddresses.get(0).getLatitude()); 
        String longForVol = String.valueOf(returnedaddresses.get(0).getLongitude()); 

        Log.e("Lat", latForVol); 
        Log.e("Long", longForVol); 

       }else { 
        Log.e("Long", "Please give the correct address"); 
       } 

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



     } 
    }); 

所以,现在我想验证AutoCompleteTextView

说明了验证:

假设用户给出了错误的地址,如sadgdfhsfagAGDSFJDGHMSFSDFGsdfhg或任何其他。所以,在这种情况下,我想在setOnClickListener时验证正确的地址。

回答

0

我通过

try { 
        List<Address> returnedaddresses = geoCoder.getFromLocationName(fAPSearchLocationEt.getText().toString(),1); 

        if(!returnedaddresses.isEmpty()){ 

         String latForVol = String.valueOf(returnedaddresses.get(0).getLatitude()); 
         String longForVol = String.valueOf(returnedaddresses.get(0).getLongitude()); 

         Log.e("Lat", latForVol); 
         Log.e("Long", longForVol); 
         Log.e("Location", fAPSearchLocationEt.getText().toString()); 

        }else { 
         Log.e("Long", "Please give the correct address"); 
        } 

       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
0

谷歌地方将自动执行此任务。如果你要验证“sadgdfhsfagAGDSFJDGHMSFSDFGsdfhg”这种东西,那么你必须实现大量的逻辑。

在代码中简单地用“ResultCallback”: -

private ResultCallback<PlaceBuffer> mUpdatePlaceDetailsCallback 
     = new ResultCallback<PlaceBuffer>() { 
    @Override 
    public void onResult(PlaceBuffer places) { 
     if (!places.getStatus().isSuccess()) { 
      Log.e(LOG_TAG, "Place query did not complete. Error: " + 
        places.getStatus().toString()); 
      return; 
     } 

    } 
}; 
+0

它不会对onResult方法得到这个,你能解释我如何在我的代码 – Bahu

+0

使用它@kiran,如果你需要的话我可以给你发送完整的代码。 – Laxmeena

+0

没有Laxmeena我解决了它(见我接受的答案) – Bahu