android - 如何从 PlaceAutocomplete api 获取城市和州名称?

标签 android google-maps google-maps-android-api-2

我已经完成了获取城市名称的代码。但现在根据新的要求,我还需要来自 com.google.android.gms.location.places.ui.PlaceAutocomplete api 的状态名称。 您可以引用我为获取城市所做的代码。

AutocompleteFilter autocompleteFilter = new AutocompleteFilter.Builder()
                    .setCountry("IN")
                    .setTypeFilter(AutocompleteFilter.TYPE_FILTER_REGIONS)
                    .build();

            Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)//MODE_OVERLAY
                    .setFilter(autocompleteFilter)
                    .build(this);
            startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);


 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == PLACE_AUTOCOMPLETE_REQUEST_CODE) {
            Utils.dismissProgressBar();
            if (resultCode == RESULT_OK) {
                Place place = PlaceAutocomplete.getPlace(this, data);
                AppLog.log(TAG, "Place: " + place.getName());
                AppLog.log(TAG, "getAddress: " + place.getAddress());
                mCityName.setText(place.getName());
            } else if (resultCode == PlaceAutocomplete.RESULT_ERROR) {
                Status status = PlaceAutocomplete.getStatus(this, data);
                AppLog.log(TAG, status.getStatusMessage());
                Toast.makeText(status.getStatusMessage(), true);
            } else if (resultCode == RESULT_CANCELED) {
                //Toast.makeText("Unable to find place", true);
            }
        }
    }

最佳答案

它对我有用:

final Place place = PlaceAutocomplete.getPlace(this,data);
Geocoder geocoder = new Geocoder(this);
try
{
    List<Address> addresses = geocoder.getFromLocation(place.getLatLng().latitude,place.getLatLng().longitude, 1);
    String city = addresses.get(0).getSubAdminArea();
    String country = addresses.get(0).getAdminArea();  

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

关于android - 如何从 PlaceAutocomplete api 获取城市和州名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49646615/

相关文章:

android - 接听电话导致 android 应用程序中的第二个 Activity 关闭

java - Android,volley : When using volley, 既没有调用 Errorlistener,也没有调用 Responselistener

android - 如何以有效的方式从点集合创建三角形?

android - 计算两点之间距离的 MapsApp,Android

android - 带有 CameraUpdateFactory.newLatLngBounds 的 moveCamera 崩溃

java - Android-改造-java.lang.NullPointerException : Attempt to invoke virtual method

android - 以对话框形式发送电子邮件 Intent

java - 在 android 中使用 google map v2 在触摸位置添加标记

ruby-on-rails - 从 rails-geocoder gem 中的 Controller 获取纬度和经度值

google-maps - 获取驾驶路线的坐标和名称