Оберните объекты GeoJSON вокруг карты Leaflet.js

У меня есть карта Leaflet.js, состоящая из объектов Marker и GeoJSON. Есть ли простой способ обернуть их, чтобы они периодически появлялись каждые 360 градусов? По сути, я хочу, чтобы вся карта стала периодической.

Вот иллюстрация того, какие объекты у меня есть (за исключением фона TileLayer, которого у меня нет):

Карта с разбитыми большими кругами

Как я могу периодически повторять эти данные, чтобы большие круги не прерывались, а отображались неповрежденными каждые 360 градусов при прокрутке карты влево или вправо?


person jc315    schedule 26.02.2018    source источник


Ответы (1)


Один из подходов заключается в использовании Leaflet.VectorGrid. Как вы можете видеть в примере Leaflet.VectorGrid GeoJSON, данные будет заворачивать. (Архитектурно это происходит потому, что VectorGrid загружает векторный тайл с теми же координатами при обтекании). Имейте в виду, что могут появиться некоторые артефакты.

Другой подход — просто дублировать ваши данные (добавляя 360 к каждой долготе). Сделайте это пару раз с каждой стороны и используйте параметр WorldCopyJump, чтобы пользователи не прокручивали страницу слишком далеко.

person IvanSanchez    schedule 27.02.2018