我用图例构建了此Google地图。请参见下面的代码。 图例中的元素有时会在所有设备上的第一次加载时被复制,而有时在页面刷新时被复制。 我在Stackoverflow(see there)上也看到了类似的问题,但没有找到解决方案。我删除了一些多余的代码。
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);
}
答案 0 :(得分:1)
已通过IssueTracker中的此错误进行了解答:https://issuetracker.google.com/131115682
我注意到,除了Maps Javascript回调外,您两次调用initMap()函数:
第一:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
第二个:
window.onload = function () {
initMap();
};
我尝试删除第二个通话,图例不再重复。