如何在谷歌地图API网址中添加地点参数,以获取特定类型的位置以进行自动完成



我正在尝试实现一个自动完成搜索input栏,用于在我的React应用程序中自动完成搜索学院和大学的结果。

我的代码如下:

import React, { Component } from 'react'
import './App.css'
import PlacesAutocomplete from "react-places-autocomplete";
export class App extends Component {
constructor(props) {
super(props);
this.state = { address: '' };
}
handleChange = address => {
this.setState({ address });
};
render() {
return (
<div>
<PlacesAutocomplete
value={this.state.address}
onChange={this.handleChange}
onSelect={this.handleSelect}
// searchOptions={searchOptions}
shouldFetchSuggestions={this.state.address.length > 3}
>
{({ getInputProps, suggestions, getSuggestionItemProps, loading }) => (
<div >

<input maxLength="50" className="typo"{...getInputProps({ placeholder: "Search Your College" })} />
<div>
{loading ? <div>...loading</div> : null}
{suggestions.map(suggestion => {
const style = {
backgroundColor: suggestion.active ? "#41b6e6" : "",
};
return (
<div className="suggestion"  {...getSuggestionItemProps(suggestion, { style })}>
{suggestion.description}
</div>
);
})}
</div>
</div>
)}
</PlacesAutocomplete>
</div>
)
}
}
export default App

显然是索引中的<script>标签.html

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"></script>

根据 gmaps 文档,为了只从这些类型中获得选择性结果:schooluniversitysecondary-schoolcollege我需要修改它。但是,我显然没有正确获取文档,也无法很好地理解它。

所以我想知道格式化 url 的正确方法是什么? => 反应位置-自动完成文档

请注意,您使用的是"地点自动完成",而不是"地点搜索"。表 3 中列出了支持的自动完成类型:


geocodeaddressestablishment
(regions)

(cities)

因此,使用其他类型(如school)不适用于自动完成;仅适用于"地点搜索"服务。

希望这有帮助!

最新更新