#javascript #leaflet
Вопрос:
Я новичок в JavaScript. Листовка на странице не отображает карту, пока я не изменю свойство .leaflet-container { overflow: ;}, вы можете увидеть это на изображении2 . Как я могу это исправить? Спасибо! CSS
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" />
<style>
body {
padding: 0;
margin: 0;
}
html, body, #map {
height: 100%;
width: 100%;
}
HTML
<div id="map"></div>
JS
</body>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<script>
var map = L.map.invalidateSize();
L.tileLayer(
'https://api.maptiler.com/maps/streets/256/{z}/{x}/{y}.png?key=ekfefkerdkdfk2',
{attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">amp;copy; MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">amp;copy; OpenStreetMap contributors</a>'}
).addTo(map);
</script>
Ответ №1:
Заменить var map = L.map.invalidateSize();
на
var map = L.map('map', {
center: [51.505, -0.09],
zoom: 13
});
Если он все еще не работает, проверьте, перезаписаны ли вы div
в некоторых ваших классах CSS. Еще создайте образец на https://leafletjs.com/edit
Комментарии:
1. Я изменил var map = L.map.invalidateSize(); Карта появилась в Plunker, но по-прежнему не отображается на моей странице.
2. Затем вы перезаписываете ее с помощью некоторого стиля css. На вкладке «Элементы» инструментов разработчика (F12) вы можете увидеть, какие стили добавлены в контейнер карты
3. @Aliaksei. Статкевич делает пример на codesandbox.io