Дублированные изображения и текст в легенде карт Google - PullRequest
0 голосов
/ 20 апреля 2019

Я построил Google Maps с легендой. Пожалуйста, смотрите код ниже. Элементы в легенде дублируются иногда при первой загрузке и иногда при обновлении страницы на всех устройствах. Я также видел подобные проблемы в Stackoverflow ( см. Там ), но никто не нашел решения. Я удалил некоторую лишнюю часть кода.

        function initMap() {
            map = new google.maps.Map(document.getElementById('map'), {
                zoom: 8,
                center: centerCords
            });
var legend = document.getElementById('legend');
        for (var key in icones) {
          var type = icones[key];
          var name = type.name;
          var icon = type.icon;
          var div = document.createElement('div');
          div.innerHTML = '<img src="' + icon + '"> ' + name;
          legend.appendChild(div);
        }
addMarkerInfo();
map.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(legend);
        }

1 Ответ

0 голосов
/ 24 апреля 2019

Ответили через эту ошибку в IssueTracker: https://issuetracker.google.com/131115682

Я заметил, что вы вызываете функцию initMap () дважды отдельно от своего обратного вызова Maps Javascript:

1-й:

 <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">

2й:

window.onload = function () {
    initMap();
};

Я попытался удалить второй вызов, и в легендах больше нет дубликатов.

...