将地方自动填充API限制为特定国家/地区Android的城市

Man*_*noj 13 android google-places-api google-play-services

我在PlaceAutocompleteApiPlay服务中使用,我想要做的是限制自动完成到特定的国家和城市.例如.所有城市都只能说是印度.我正在使用AutocompleteFilter这样做,但我不知道在哪里指定我想限制的国家/地区.

这是我的代码

        List<Integer> autocompleteFilter = new ArrayList<>();
//        autocompleteFilter.add(Place.TYPE_COUNTRY);
//        autocompleteFilter.add(Place.TYPE_LOCALITY);


        mAdapter = new PlaceAutocompleteAdapter(mContext,R.layout.layout_location_text,
                mGoogleApiClient, BOUNDS, AutocompleteFilter.create(autocompleteFilter));
        mTxtLocation.setAdapter(mAdapter);

        mTxtLocation.setOnItemClickListener(mAutocompleteClickListener);
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

Y.S*_*Y.S 8

这样做的方法是将国家/地区作为components参数添加到Web服务URL:

StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON);
sb.append("?key=" + API_KEY);
sb.append("&components=country:in");
Run Code Online (Sandbox Code Playgroud)

对于城市,您可以使用以下administrative_area_level_3标记:

sb.append("&components=administrative_area_level_3:bengaluru");
Run Code Online (Sandbox Code Playgroud)

或者locality标签:

sb.append("&components=locality:redmond");
Run Code Online (Sandbox Code Playgroud)

参考文献:

1. 地理编码API.

2. 地址类型和组件类型.

3. Android应用中的Google Place API自动填充服务.

  • 谢谢,你能建议使用游戏服务api.不是休息api. (3认同)