@Gor_Ohanyan

Как Вывести города/регионы по апи яндекс карт?

Можно сделать чтобы выводились в подсказках только города и регионы
<p class="form__title">Город/Регион</p>
<input list="suggestionsList" style="color: black;" placeholder="Название" onkeyup="getSuggestions(this.value)" />
<datalist id="suggestionsList">
</datalist>


function getSuggestions(query) {
  $.ajax({
    url: 'https://suggest-maps.yandex.ru/suggest-geo',
    dataType: 'jsonp',
    data: {
      part: query,
      lang: 'ru_RU',
      v: '5',
      search_type: 'all',
      callback: 'suggestCallback',
      html: 'false',
      apikey:  'ключ' // Замените на свой API-ключ
    },
    success: function(response) {
      if (response && response[1]) {
        var suggestions = response[1];
        var suggestionsList = document.getElementById('suggestionsList');
        suggestionsList.innerHTML = '';

        for (var i = 0; i < suggestions.length; i++) {
          var suggestion = suggestions[i];
          if (suggestion[0] === 'geo') { // Фильтруем подсказки по типу 'geo'
            var suggestionItem = document.createElement('option');
            suggestionItem.value = suggestion[1]; // Устанавливаем значение option
            suggestionItem.textContent = suggestion[1];
            suggestionsList.appendChild(suggestionItem);
          }
        }
      } else {
        console.error('Неверный формат ответа:', response);
      }
    },
    error: function(xhr, status, error) {
      console.error('Ошибка запроса:', error);
    }
  });
}



// Получаем ссылки на список и поле ввода
var suggestionsList = document.getElementById('suggestionsList');
var inputField = document.getElementById('inputField');

// Добавляем обработчик события клика на каждый элемент списка
suggestionsList.addEventListener('click', function(event) {
  // Проверяем, что кликнули на элемент списка
  if (event.target.tagName === 'LI') {
    // Получаем текст выбранного элемента
    var selectedText = event.target.textContent;
    
    // Устанавливаем текст в значение поля ввода
    inputField.value = selectedText;
  }
});
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы