Google Places 如何自动完成和 componentRestrictions 仅从特定国家搜索?

Google Places how to autocomplete and componentRestrictions search only from a specific country?

我希望当用户在我的自动完成搜索中输入内容时,来自 Google 服务器的数据将仅与特定国家/地区相关。

我在 Node.js 中通过 API 调用他们的网络服务,如下所示:

var headers = {
  'User-Agent':       'Super Agent/0.0.1',
  'Content-Type':     'application/x-www-form-urlencoded'
};
// Configure the request
var options = {
  url: "https://maps.googleapis.com/maps/api/place/autocomplete/json",
  method: 'POST',
  headers: headers,
  qs: {
    key: gkey,
    input: input,
    types: ['(cities)'],
    componentRestrictions: {country: 'il'}
  }
};
// Start the request
request(options, function (error, response, body) {
  // returning the body to the frontend
});

请注意,我曾尝试使用此功能,但没有任何效果。 我可以看到全球范围内的结果。

我曾尝试搜索此问题,但没有解决此问题。

Google 地图 API Web 服务应该使用 GET 方法,而不是 POST 方法。唯一应该与 POST 一起使用的 Web 服务是 Geolocation API.

您应该将代码更改为

var headers = {
  'User-Agent':       'Super Agent/0.0.1',
  'Content-Type':     'application/x-www-form-urlencoded'
};
// Configure the request
var options = {
  url: "https://maps.googleapis.com/maps/api/place/autocomplete/json",
  method: 'GET',
  headers: headers,
  qs: {
    key: gkey,
    input: input,
    types: ['(cities)'],
    componentRestrictions: {country: 'IL'}
  }
};
// Start the request
request(options, function (error, response, body) {
  // returning the body to the frontend
});

希望对您有所帮助!