Я пытаюсь отобразить карту в модальном режиме, поэтому, когда я закрываю ее и открываю новую, карта всегда показывает первое местоположение вместо текущего модального.Я сбрасываю карту, но все равно ничего не происходит.
Перед тем, как открыть модал, я печатаю карту:
$('#openMap').on($.modal.BEFORE_OPEN, function(event, modal) {
printMap('map', coord);
});
После закрытия модала я удаляю контейнер карты:
$('#openMap').on($.modal.AFTER_CLOSE, function(event, modal) {
$('#map').remove();
});
Это код функции printMap:
var map = null; // Global variable
function printMap(map_id, coord) {
const mapbox_token = '...';
if(map) {
map.eachLayer(function (layer) {
map.removeLayer(layer);
});
map.off();
map.remove();
map.on('viewreset', function (e) {
console.log('Reset view...') // Do not showed
})
delete map;
map = null;
// none of these work
}
// Load map
map = L.map(map_id).setView(coord, 13);
// Create the tile layer with correct attribution
L.tileLayer(...).addTo(map);
// Add marker
L.marker(coord).addTo(map);
// Invalidate size for modal
$('.modal').on($.modal.OPEN, function (event, modal) {
setTimeout(function(){ map.invalidateSize()}, 0);
});
}
Надеюсь, кто-нибудь может мне помочь!Заранее спасибо!