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.
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
. 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