Google Places, как выполнять автозаполнение и поиск компонентов только из определенной страны? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу, чтобы при вводе пользователем в моем автозаполненном поиске данные, поступающие с серверов Google, относились только к определенной стране.

Я звоню на их веб-сервис через API в Node.js следующим образом:

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 голосов
/ 28 апреля 2018

Веб-сервисы Google Maps API должны использоваться с методом GET, а не методом POST. Единственный веб-сервис, который предполагается использовать с POST - это 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
});

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...