Автозаполнение Google API, только один тип региона

В настоящее время я использую API API Google для автозаполнения местоположений. Я могу настроить его так, чтобы он возвращал только тип регионов с помощью "autocomplete.setTypes(['region'])" . Глядя на документацию, я вижу, что тип регионов будет возвращать все результаты, содержащие следующие типы;
* местонахождение
* местность
* Почтовый индекс
* страна
* administrator_area1
* administrator_area2

Однако я хочу только получить автозаполнение прогнозов с типом региона "sublocality". Это возможно? Если нет, то у кого-нибудь была похожая проблема и есть альтернативное решение, которое они посоветовали бы? Спасибо.

var autocomplete = new google.maps.places.Autocomplete(input);

var types = ['(regions)'];

var options = {
    componentRestrictions: {country: 'uk'}
};

autocomplete.setTypes(types);
autocomplete.setOptions(options);

1 ответ

Решение

Вы можете отфильтровать результаты прогнозов запросов, чтобы они отображали (или делали все, что вам нравится с ним, поскольку мы не знаем, что вы пытаетесь сделать), если прогноз имеет тип sublocality так как каждый результат поставляется с массивом types,

Что-то вроде того:

// Build output for each prediction
for (var i = 0, prediction; prediction = predictions[i]; i++) {

  if (prediction['types'].includes('sublocality')) {

    // Display it or do what you need to do here
  }
}

Но имейте в виду, что предсказания запроса возвращают максимум 5 результатов, поэтому конечному пользователю может быть непонятно, как может показаться вообще ничего, пока вы не введете довольно много букв...

Другие вопросы по тегам