如何使用 Google API 自动完成用户的餐厅搜索

How to autocomplete user's restaurant search using Google API

我有一个有效的 Google 自动完成搜索,但我只想将结果限制为类型 "restaurant"。目前,只有将 "type" 地点限制为 "geocode"、"address"、"establishment"、“(地区)”或“(城市)”的选项,但我会想进一步限制结果只包括餐馆。

例如:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Chi&types=(餐厅)&location=latitude,longitude&radius=50000&key=YOUR_KEY_HERE

应该自动完成给定位置附近以 "Chi" 开头的餐馆。

Autocomplete 将偏爱这些边界内的位置。但是请注意,由于这不是硬边界,如果在边界外有搜索匹配项,它将 return 那些。

请注意,Places 服务是一个独立的库,独立于主要 Maps API JavaScript code 使用此库中包含的功能,您必须首先使用地图中的库参数加载它 API bootstrap URL:

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

除了提供区域内的地点列表外,Places 服务还可以 return 关于特定地点的详细信息。在地点搜索响应中 return 编辑地点后,其地点 ID 可用于请求有关该地点的其他详细信息,例如其完整地址、phone 号码、用户评分和评论等.

function initialize() {

var options = {
types: ['(cities)'],
componentRestrictions: {country: "us"}
};

var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input, options);
}

对于地点搜索,您可以包含 type 参数以将结果限制为与指定类型匹配的地点。请在此处查看支持的类型列表:https://developers.google.com/places/supported_types#table1