@arab789

Как получить глобальную переменную в функции?

Делаю автозаполнение города с помощью google maps api. Чтобы получить введенный город, сделал переменную глобальной. Проблема в том, что через консоль в хроме, доступ к обьекту есть, его можно скопировать, работать с ним и т.д., а вот из функции доступа нет... Как добраться к переменной?
function initialize(country) {
	var options = {
          language: '<?=$current_lang?>',
	  types: ['(cities)'],
	  //Выбор страны
	  componentRestrictions: {country: country}
	 };
	 var input = document.getElementById('searchTextField');
	 window.autocompleteqwe = new google.maps.places.Autocomplete(input, options);
         
}
function insertCityAndZone(){
    objCity = JSON.parse(JSON.stringify(autocompleteqwe.getPlace()));
}


Функция insertCityAndZone вызывается после изменения инпута onchange="insertCityAndZone();".
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
rework
@rework
Помог ответ? В благодарность отметь его решением
Вам нужно повесить специальное событие на изменение значения инпута, а не просто onchange. Как-то так:

var autocomplete;

function initialize(country) {
  var options = {
          language: '<?=$current_lang?>',
    types: ['(cities)'],
    //Выбор страны
    componentRestrictions: {country: country}
   };
   var input = document.getElementById('searchTextField');
   autocomplete = new google.maps.places.Autocomplete(input, options);
   autocomplete.addListener('place_changed', insertCityAndZone);
         
}
function insertCityAndZone(){
    var place = autocomplete.getPlace();
}


Посмотрите этот пример: https://developers.google.com/maps/documentation/j...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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