2013-07-25 5 views
3

По какой-то причине моя карта имеет большую серость на ней, пока я не переместил ее, что заставляет ее появляться.Проблема с лифтом/картографией (серая область)

Но при первом взгляде отсутствует часть. Я видел это довольно много в Интернете, но никогда не задавался вопросом, как это исправить до сих пор.

Это простая карта Mapbox с использованием MarkerClusterGroup для кластеров.

Вот скриншот и ссылка на страницу: enter image description here

http://vinpin.com/map

Так мне было интересно, есть ли простой известный фикс для такого поведения?

Я могу добавить фрагменты кода, если потребуется.

Спасибо и хорошо провести день!

ответ

6

Кажется, размер элемента карты изменился с момента инициализации, и вы не сделали его недействительным.

ли вы изменить видимость (например. display: none стиля), положение (например, position: absolute или position: fixed как в аффиксе), или удалить любой HTML элемент динамически (с JS)? Возможно, вы загружаете ресурсы в неправильном порядке, и стили загружаются после leaflet.js? Или, возможно, вы изменили поля или дополнения? Эти операции могут изменять размер других элементов неявно, и апплет «Листовка» загружает плитки только для области, покрытой ее старым размером. Он показывает уже загруженные плитки правильно в этой «серой» области, тем не менее, поэтому вы можете прокручивать вверх, а затем заполнять серое пространство внизу.

Если это так, вы должны выполнить метод invalidateSize() на своем картографическом объекте Leaflet.

+0

В моем случае я просто немного задержал установку листовки (setTimeout), чтобы время DOM стабилизировалось. Прекрасно работает! – Offirmo

Смежные вопросы