Я бы предположил, что размер карты при инициализации является виновником.
Листовка должна знать размер элемента, в который он встроен при инициализации. Листовка использует эту информацию, чтобы знать, сколько плиток загружается и т. Д. Кроме того, любые программные изменения (или изменения, которые не могут быть легко обнаружены листом) до размера карты, должны сопровождаться ссылкой map.invalidateSize(..)
.
Я подозреваю, что после того, как вы установили размер, Leaflet не смог правильно прочитать новый размер элемента #map. Попытайтесь недействить размер потом или выполните инициализацию асинхронно. Я бы добавил:
setTimeout(function () {
map.invalidateSize();
}, 0);
и проверить, улучшилось ли это.
Пол из Ткань здесь. В настоящее время Beta поддерживает только развертывание развертывания по времени. Приятно знать, что вам понравится, если бы это было добавлено, хотя!