Контейнер Leaflet Map уже инициализирован - PullRequest
0 голосов
/ 04 декабря 2018

Я использую классический 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);, но тогда я получаю карту, не определенную.Мне нужен продукт для определения карты "глобальной" и окончательной инициализации с помощью функции и отдельной функции для отображения точки на карте.Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...