我正在关注http://examples.javacodegeeks.com/android/android-google-places-autocomplete-api-example/本教程,以便在我的应用中获取Google地方自动填充功能, 现在它工作正常,但我需要保持地方建议国家具体,我已经尝试给像印度,中国这样的国家,但它没有显示任何结果。 你能帮我解决一下,告诉我应该在哪里修改代码来完成它。
谢谢, PRASHANT
答案 0 :(得分:0)
来自Places API的文档
要获取预测的地名和/或地址列表,请致电 GeoDataApi.getAutocompletePredictions(),传递以下内容 参数:
必需:包含用户键入的文本的查询字符串。
必需: LatLngBounds 对象,将结果限制为特定对象 由纬度和经度界限指定的区域。
提出要求时
您可以为印度指定边界。
答案 1 :(得分:0)
这可以为您服务
tups = [(14, 2), (14, 2), (16, 2), (14, 2)]
threshold = 50
result = [[]]
for tup in tups:
tupSum = sum(tup)
# Start a new sublist if adding this tuple's sum would exceed the threshold
if tupSum + sum(result[-1]) > threshold:
result.append([])
result[-1].append(tupSum)
// PlaceFields-这里
String apiKey = getString(R.string.places_api_key);
if (!Places.isInitialized()) {
Places.initialize(getApplicationContext(), apiKey);
PlacesClient placesClient = Places.createClient(this);
}else{
Toast.makeText(PlaceAutocompleteActivity.this, "-----initialize-----", Toast.LENGTH_LONG).show();
}
// Initialize the AutocompleteSupportFragment.
AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);
// PlaceFields
autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG));
// autocompleteFragment.setOnPlaceSelectedListener(MapsActivity.this);
try {
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(@NonNull Place place) {
displayLocation(place.getLatLng().latitude,place.getLatLng().longitude,place.getName());
Toast.makeText(getApplicationContext(), "getName: " + place.getName() + " getLatLng: "+ place.getLatLng(), Toast.LENGTH_LONG).show();
// Intent i = Intent(this, idnow.se MainActivity.class);
// i.putExtra("getLatLng",place.getLatLng());
// startActivity(i);
// finish();
}
@Override
public void onError(@NonNull Status status) {
Toast.makeText(getApplicationContext(), "" + status.toString(), Toast.LENGTH_LONG).show();
}
});
} catch (Exception e) {
Toast.makeText(PlaceAutocompleteActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}