Я взял код, уже работающий, и у меня возникла проблема с некоторыми маркерами, к которым не было прикреплено событие click.
Чтобы попытаться заставить это работать, я сократил код и только что реализовал базовый пример, показанный на этой странице - https://developers.google.com/maps/documentation/javascript/examples/event-simple, внутри структуры моего текущего кода.
Однако это не работает, маркер установлен, но событие щелчка не прикреплено.
Прикрепление события нажатия на карту работает.
Кто-нибудь есть какие-либо предложения о том, что может быть причиной этого?
init() {
this.loadScript(`https://maps.googleapis.com/maps/api/js?client=${this.apiClient}`);
}
loadScript(url) {
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.getElementsByTagName('body')[0].appendChild(script);
setTimeout(() => {
this.initMap();
}, 500);
}
initMap() {
const myLatlng = {lat: -25.363, lng: 131.044};
const map = new google.maps.Map(this.mapElement, {
zoom: 4,
center: myLatlng
});
const marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Click to zoom'
});
map.addListener('center_changed', function() {
// 3 seconds after the center of the map has changed, pan back to the
// marker.
window.setTimeout(function() {
map.panTo(marker.getPosition());
}, 3000);
});
marker.addListener('click', function markerClick() {
map.setZoom(8);
map.setCenter(marker.getPosition());
});
}