如何设置请求选项以使用PlacesAutocomplete

问题描述 投票:0回答:1

我正在使用 usePlacesAutocomplete,尽管设置了我希望它搜索的值,但我仍然得到了仅国家/地区名称形式的不需要的结果。这些不是波兰的街道名称。我特别期望在该领域取得成果。我怎样才能实现这个目标?

type PlacesProps = {
  setAddress: (key: string, value: string|number) => void;
};
export default function Places(props:PlacesProps ) {
  const apiKey = import.meta.env.VITE_MAP_API_KEY;
  const googleMapsLibraries = ['places'];

  const { isLoaded } = useLoadScript({
    googleMapsApiKey: apiKey,
    libraries: googleMapsLibraries,
  });

  const PlaceAutocomplete = () => {
    const {
      ready,
      value,
      setValue,
      suggestions: { status, data },
      clearSuggestions,
    }= usePlacesAutocomplete({
      requestOptions: {
        types: ['street_address'],
        componentRestrictions: {
          country: 'pl'
        },
        language: 'pl',
      },
    });
  ...
...
..
  const memoizedPlaceAutocomplete = useMemo(() => <PlaceAutocomplete />, []);

  return memoizedPlaceAutocomplete;
}
reactjs google-maps google-api autocomplete geocoding
1个回答
0
投票

我不确定

usePlacesAutocomplete
在幕后使用什么,但如果它是位置自动完成服务
street_address
不支持

看,google.maps.placesAutocomplete小部件

地方类型约束与google.maps.places.AutocompleteService()您的
包正在使用
不是同一件事。我知道,这很令人困惑。

支持的表3,您可以尝试geocode

address
类型,看看哪个效果更好。

在响应后处理步骤中,您可以过滤掉不适合您的用例的建议。

© www.soinside.com 2019 - 2024. All rights reserved.