как добавить прослушиватель событий в пользовательский элемент управления картой Google за пределами области его создания - PullRequest
0 голосов
/ 09 апреля 2019

Я создал пользовательский элемент управления Google Maps с помощью прослушивателя событий click

function CenterControl(controlDiv, map, CenterPosition, DefaultZoom) {
    // Set CSS for the control border.
    var controlUI = document.createElement('div');
    controlUI.style.backgroundColor = '#fff';
    controlUI.style.border = '2px solid #fff';
    controlUI.style.borderRadius = '3px';
    controlUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
    controlUI.style.cursor = 'pointer';
    controlUI.style.marginBottom = '22px';
    controlUI.style.textAlign = 'center';
    controlUI.title = 'Click to recenter the map';
    controlDiv.appendChild(controlUI);
    // Set CSS for the control interior.
    var controlText = document.createElement('div');
    controlText.style.color = 'rgb(25,25,25)';
    controlText.style.fontFamily = 'Roboto,Arial,sans-serif';
    controlText.style.fontSize = '15px';
    controlText.style.fontWeight = 'bold';
    controlText.style.lineHeight = '30px';
    controlText.style.paddingLeft = '5px';
    controlText.style.paddingRight = '5px';
    controlText.innerHTML = 'Center Map';
    controlUI.appendChild(controlText);
    controlUI.addEventListener('click', function() {
      map.setZoom(DefaultZoom);
      map.setCenter(CenterPosition);
    });
}

var centerControlDiv = document.createElement('div');
var centerControl = new CenterControl(centerControlDiv, map, DefaultCenter, DefaultZoom);
centerControlDiv.index = 1;
map.controls[google.maps.ControlPosition.BOTTOM_CENTER].push(centerControlDiv);

Я хочу добавить еще один обработчик событий click для этого элемента управления где-нибудь еще в коде, подобном этому

google.maps.event.addListener(centerControl, 'click', function () {
    console.log('sdfgsdfgdgdfg');
    if (InfoWindow) {
        InfoWindow.close();
     }
});

Это не работает вообще, и журнал консоли не показывает вывод этого слушателя событий.Есть ли способ достичь этого без создания массива infoWindows?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...