Информационное окно Google Maps, показывающее предыдущее местонахождение

На моем сайте есть карта с выходом из некоторых предметов. Обычно, когда вы нажимаете на них, всплывающее окно показывает некоторую информацию. Теперь проблема в том, что когда я нажимаю на местоположение 1, открывается окно 1. Но при нажатии на место 2 окно открывается в месте 1. При нажатии на место 3 окно открывается в месте 2, при нажатии на место 4 окно открывается в месте 3 и т. д.

Вот первые строки кода:

var infoBox_ratingType='star-rating';(function($){"use strict";function mainMap(){var ib=new InfoBox();function locationData(locationURL,NewTab,locationImg,locationTitle,locationAddress){return(''+'<a href="'+ locationURL+'" ' + (NewTab ? 'target="_blank"' : '') +' class="listing-img-container">'+'<div class="infoBox-close"><i class="fa fa-times"></i></div>'+'<img src="'+locationImg+'" alt="">'+'<div class="listing-item-content">'+'<h3>'+locationTitle+'</h3>'+'<span>'+locationAddress+'</span>'+'</div>'+'</a>')}

var locations=[
[locationData('https://www.lichaamengeest.be/sauna/kuurcentrum.php','','https://www.lichaamengeest.be/sauna/kuurcentrum/kuurcentrum.jpg',"Wellnesscentrum Yolande Buekers",'Langstraat 31<br>3830 Wellen'),50.819357,5.309640,1,'<i class="im im-icon-Green-House"></i>'],

Кроме того, при попытке нажать на значок закрытия информационного окна активируется ссылка. Вы можете увидеть страницу с картами здесь: введите здесь описание ссылки с полным js-файлом здесь: введите здесь описание ссылки Я предполагаю, что это ошибка javascript, поэтому кто-нибудь может помочь мне, в чем проблема, пожалуйста? Спасибо!


person Community    schedule 14.02.2018    source источник


Ответы (1)


если информационное окно открыто, попробуйте закрыть его, а затем открыть информационное окно на новом маркере (оверлее).

Обновите приведенную ниже функцию из

return function() {
             ib.setOptions(boxOptions);
             boxText.innerHTML = locations[i][0];
             ib.open(map, overlay);

это к

return function() {
                 ib.setOptions(boxOptions);
                 boxText.innerHTML = locations[i][0];
                 ib.close();
                 ib.open(map, overlay);
person Punith Jain    schedule 14.02.2018
comment
Спасибо, Пунит, но, похоже, это не помогает. См. здесь: lichaamengeest.be/sauna.php - person ; 14.02.2018