首页 > 解决方案 > 将谷歌预测限制在特定国家/地区不起作用

问题描述

我正在执行以下操作:

    FindAutocompletePredictionsRequest.Builder requestBuilder = FindAutocompletePredictionsRequest.builder();
    if (limitToCountry != null) {
        requestBuilder.setCountry(limitToCountry.toLowerCase());
    }
    requestBuilder.setSessionToken(HPlaces.getAutocompleteSessionToken());
    requestBuilder.setTypeFilter(TypeFilter.ADDRESS);

    try {
        mAutoCompleteAdapter = new PlacesAutoCompleteAdapter(
                this,
                R.layout.item_select_address,
                latLngBounds.build(),
                requestBuilder
        );
    } catch (IllegalStateException e) {
        //Issue with latLngBounds.build() not having included points in it
        finish();
        return;
    }

问题是,例如,如果限制国家是“ro”(罗马尼亚),并且如果我查询谷歌,它也会返回来自其他国家的结果。这是为什么 ?!

在此处输入图像描述

标签: androidgoogle-mapsgoogle-places-api

解决方案


尝试这个

AutocompleteFilter autocompleteFilter = new AutocompleteFilter.Builder()
                        .setTypeFilter(Place.TYPE_COUNTRY)
                        .setCountry("US")
                        .build();
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
                        .setFilter(autocompleteFilter)
                        .build(this);  

推荐阅读