Я пытаюсь создать простой портлет с картой с помощью extjs 4 и листовки. Проблема в том, что карта полностью не отображается в моем элементе портлета. Он загружает неправильные плитки (256x256), которые находятся вне моего портлета. Эта неправильная плитка находится на левой стороне сверху и справа. Есть ли уловки, чтобы исправить это? Вот на скриншоте, как он выглядит. Листовка osm map и extjs4 проблема рендеринга портала
Возможно, это поможет выяснить? Я думаю, что это происходит из-за неправильного left
и top
атрибутов в классе IMG:
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9904/5121/" style="height: 256px; width: 256px; left: -79px; top: -251px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9905/5123/" style="height: 256px; width: 256px; left: 177px; top: 261px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9904/5122/" style="height: 256px; width: 256px; left: -79px; top: 5px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9903/5121/" style="height: 256px; width: 256px; left: -335px; top: -251px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9902/5121/" style="height: 256px; width: 256px; left: -591px; top: -251px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9902/5120/" style="height: 256px; width: 256px; left: -591px; top: -507px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9901/5120/" style="height: 256px; width: 256px; left: -847px; top: -507px;">
<img class="leaflet-tile leaflet-tile-loaded" src="http://myhost/map/14/9901/5119/" style="height: 256px; width: 256px; left: -847px; top: -763px;">
И кстати. Если я перемещаю окно браузера на другой монитор, он начинает работать правильно. – Kirill
И когда я изменяю размер окна браузера, он также начинает работать правильно. Так, наверное, вопрос в том, как заставить обновить размер окна браузера? – Kirill
L.map прослушивает изменение размера окна и внутренне вызывает 'invalidateSize'. Поэтому, если изменение размера окна браузера приведет к восстановлению правильного поведения, предположим, что iH8, вероятно, прав. – ghybs