2016-06-02 10 views
3

Ich verwende google place api autocompleteview.AutocompleteFragment.setBoundsBias von GooglePlace scheint nicht zu funktionieren

Ich wollte die Suchergebnisse auf nur United States of America beschränken.

autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment); 


autocompleteFragment.setBoundsBias(new LatLngBounds(new LatLng(0,0),new LatLng(37.090240,-95.712891))); 

Dieser Code scheint nicht zu funktionieren. Wenn ich Sydney tippe gibt es mir Ergebnisse.

+1

Bounds Bias ist nicht der strenge Filter. Im Web-Service können Sie die Beschränkung der Komponenten nach Ländern festlegen, aber es scheint, dass Places Android diese Funktion nicht implementiert hat. Ich habe diese Feature-Anforderung gefunden https://code.google.com/p/gmaps-api-issues/issues/detail?id=8611 – xomena

+0

. Außerdem übernimmt autocompleteFragment.setBoundsBias() eine LatLngBounds, für die Argumente in Nordosten, Südwesten; Du benutzt Südosten, Nordwesten. Korrekter Code: autocompleteFragment.setBoundsBias (neue LatLngBounds (neue LatLng (37.09024, 0), neue LatLng (0, -95.712891))); – miguev

Antwort

-1

Versuchen Sie diesen Code. Dies ist in einer einfachen setOnClickListener Taste, einen Filter hinzufügen und mit .setCountry ("USA"):

try { 
       AutocompleteFilter typeFilter = new AutocompleteFilter.Builder() 
         .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS) 
         .setCountry("US") 
         .build(); 

       Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY) 
         .setFilter(typeFilter) 
         .build(actWithEditTextToReturn.this); 
       startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE_ORIGEM); 
      } catch (GooglePlayServicesRepairableException e) { 
       // TODO: error. 
      } catch (GooglePlayServicesNotAvailableException e) { 
       // TODO: error. 
      } 

Ich habe Probleme mit setBoundsBias gewesen, was mir eine Fehlermeldung:

E/Volley: [141] BasicNetwork.performRequest: Unexpected response code 503 for h t tps://www.googleapis.com/placesandroid/v1/getAutocompletePredictions?key=AIza....

und

E/Volley: [140] BasicNetwork.performRequest: Unexpected response code 500 for h t tps://www.googleapis.com/placesandroid/v1/getAutocompletePredictions?key=AIza....

Und wie Sie sehen können, war meine Lösung, die SetboundBias zu entfernen. Vielen Dank.