【发布时间】:2018-01-12 07:50:36
【问题描述】:
我在 Klipfolio 中嵌入了谷歌地图, 但是,当您刷新页面时,图例的项目会不时复制自己。 screenshot of the legend duplicated 和 codes
正文包括地图画布和图例的 2 个标签
<div id="map_canvas"></div>
<div id="legend"></div>
这就是我根据脚本中的 google maps api 文档填充图例的方式。
// setting the legend
var iconBase = 'https://i.imgur.com/';
var icons = {
mine_site: {
name: 'Mine Site',
icon: iconBase + 'JCSVR5C.png'
},
mine_depot: {
name: 'Mine Depot',
icon: iconBase + 'XkWP909.png'
},
warehouse: {
name: 'Exporter Warehouse',
icon: iconBase + 'W7u6wR3.png'
}
};
var legend = document.getElementById('legend');
for (var key in icons) {
var type = icons[key];
var name = type.name;
var icon = type.icon;
var div = document.createElement('div');
div.innerHTML = '<img src="' + icon + '"> ' + name;
legend.appendChild(div);
}
map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(legend);
我什至使用计数器将图例附加到图例的次数,但次数等于图例项的长度,但无济于事。
我想知道这是否可能不是由于与 klipfolio 的某些兼容性。有没有人遇到过这个问题? 有什么我做错了吗?或者我怎么能确定这是因为兼容性问题? 同时,当这些重复发生时,我没有收到任何警告或错误。
【问题讨论】:
-
那你还没有提供一个完整的例子。这应该可以帮助您找到问题所在。但是,除非您可以提供 minimal reproducible example,否则很难提供帮助。
-
问题是我无法在 jsfiddle 中复制 klipfolio 的环境。
标签: javascript google-maps-api-3 duplicates domdocument klipfolio