Я использую классический JS для отображения LeaFlet MAP в виде `` `
function getMap(latitude,longitude){
var osmUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var osm = new L.TileLayer(osmUrl, {minZoom:2, maxZoom:19});
var googleStreets = new L.tileLayer('https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',{minZoom:1, maxZoom:19, subdomains:['mt0','mt1','mt2','mt3']});
var googleSat = new L.tileLayer('https://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}',{minZoom:1, maxZoom: 21,subdomains:['mt0','mt1','mt2','mt3']});
var map = new L.Map('mapDiv', { doubleClickZoom:false, zoomControl:false, maxBounds:([[90,-270],[-90,270]]) });
L.control.layers({"OSM (Mapnik)": osm, "Google Street": googleStreets, "Google Earth": googleSat}).addTo(map);
map.addLayer(osm);
var map_set = "osm";
map.setView(new L.LatLng(latitude,longitude),zoom);
}
на кнопке, которую я вызываю getMap(latitude,longitude)
, и она работает нормально. Но если я позвоню снова (с новыми координатами), то яполучить ошибку Контейнер карты уже инициализирован.
Теперь я понимаю, что мне нужна новая функция с map.setView(new L.LatLng(latitude,longitude),zoom);
, но тогда я получаю карту, не определенную.Мне нужен продукт для определения карты "глобальной" и окончательной инициализации с помощью функции и отдельной функции для отображения точки на карте.Спасибо за помощь!