У меня есть следующая проблема. Я удаляю все ссылки на экземпляр карты Google, включая маркеры, с помощью опции setMap(null)
с помощью следующего кода:
destroyMaps = function () {
leftMap = null;
window.map = null;
geocoder = null;
for (var i=0; i<window.rightMarkers.length; i++) {
window.rightMarkers[i].setMap(null);
window.rightMarkers[i] = null;
}
window.rightMarkers = null;
$("#map-canvas-right").remove();
for (var i=0; i<window.leftMarkers.length; i++) {
window.leftMarkers[i].setMap(null);
window.leftMarkers[i] = null;
}
window.leftMarkers = null;
$("#map-canvas-left").remove();
}
Единственное, что ссылается на leftMap
или window.map
во всем моем коде:
Для window.map
var marker = new google.maps.Marker({
position: myLatlng,
map: window.map,
icon: window.pins[keyword_category.category_name],
shadow: window.pins["Shadow"],
title:job.job_title
});
marker.job_type = keyword_category.category_name;
window.rightMarkers.push(marker);
Для leftMap
var marker = new google.maps.Marker({
position: myLatlng,
map: leftMap,
icon: window.pins[keyword_category.category_name],
shadow: window.pins["Shadow"],
title:job.job_title
});
window.leftMarkers.push(marker);
Однако в моем отдельном дереве DOM при сопоставлении до того, как были созданы карты/после их уничтожения, остаются плитки карт google:
(Щелкните правой кнопкой мыши - откройте картинку, чтобы увидеть ее в полном размере)
Что я могу сделать, чтобы узнать, что вызывает утечку DOM?