Почему не происходит инициализация google maps после перезагрузки страницы ajax-ом?

Здравствуйте, интегрирую одношаговое оформление заказа и необходимо на основании складов самовывоза сформировать карту. При первой загрузке страницы, карта загружается,но после выбора другого способа оплаты(происходит перезагрузка ajax) ,карта не загружаешься (не инициализируеться ).Как выполнять инициализацию карты после перезагруpки страницы ajax?

function initialize() {
		console.log('1');
		var centered     = {lat: 60.937008, lng: 60.640778};
		var markers = [];

		var map = new google.maps.Map(document.getElementById('map'), {
			zoom: 3,
			center: centered,
			disableDefaultUI: true,
			disableDoubleClickZoom: true,
			scrollwheel: true,
			mapTypeIds: [google.maps.MapTypeId.ROADMAP ]
		});

		$('.js-radio').each(function(){
			var lat = parseFloat($(this).attr('data-lat'));
			var lng = parseFloat($(this).attr('data-lng'));
			var id = $(this).attr('data-id');
			var marker = new google.maps.Marker({
				position: {lat: lat, lng: lng},
				map: map,
				id: id
			});
			markers.push(marker);
		});

		for(var key in markers){
			var item = markers[key];
			item.addListener('click', function() {
				var num = this.id;
				$('input[data-id='+num+']').closest('label').click();
				$('#js-list').click();
			});
		}

	}
	google.maps.event.addDomListener(window, 'load', initialize);
  • Вопрос задан
  • 671 просмотр
Пригласить эксперта
Ответы на вопрос 1
Наверняка после аякс запроса Вы обновляете данные на странице, и если просмотрите код, то контейнер для карты будет пуст (#map), поэтому необходимо снова инициализировать карту, делается это как правило в обработчике события complete аякс запроса, в Вашем случае достаточно добавить вызов функции initialize в данном обработчике
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 23:03
1 руб./за проект
23 нояб. 2024, в 22:38
2500 руб./за проект
23 нояб. 2024, в 22:03
3000 руб./за проект