Google广告如何仅从特定国家/地区搜索自动填充和componentRestrictions搜索?

时间:2018-04-26 16:14:47

标签: node.js google-maps autocomplete google-places-api

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

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

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
});

请注意,我试过玩这个,但没有任何作用。 我能够看到全球的结果。

我试图搜索这个,但没有解决这个问题。

1 个答案:

答案 0 :(得分:1)

Google Maps API网络服务应该与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
});

我希望这有帮助!