Mapbox: как непрерывно обертывать векторный слой

Mapbox может непрерывно обертывать слои тайлов, так что вы можете бесконечно прокручивать влево и вправо повторяющуюся карту мира.

Я добавил векторный слой на карту мира, на котором отображаются некоторые маркеры, и по какой-то причине этот векторный слой также не переносится. Маркеры присутствуют только на исходной итерации слоя тайлов мира.

Я пробовал использовать свойство noWrap: false options, которое управляет этой характеристикой на слое листов при добавлении векторного слоя, но, похоже, это не имеет никакого эффекта.

Есть какой-либо способ сделать это?


person BWW    schedule 02.04.2014    source источник


Ответы (2)


Используйте опцию worldCopyJump

пример:

var map = L.mapbox.map('map', 'your.mapid', {center: [lat, long],
                                                     zoom: 4,
                                                     worldCopyJump: true
                                                    });
person jaldridge    schedule 17.06.2014
comment
Это работает, но это очень плохое решение проблемы. Если вы используете карту с большим количеством маркеров и международная линия дат находится в центре карты, вы увидите маркеры на одной половине, но не на другой. Когда вы прокручиваете карту влево и вправо, карта перескакивает (как следует из названия), а метки появляются и исчезают по обе стороны от линии дат. Это ужасный пользовательский опыт. - person theyetiman; 01.06.2015

Не уверен, что понимаю ваш вопрос ...

Вы можете использовать

maxBounds: [[-90,-180],[90,180]]

Например

map = L.mapbox.map('map', '<some map id>',{minZoom: 0, maxZoom: 10, maxBounds: [[-90,-180],[90,180]]});

https://www.mapbox.com/mapbox.js/example/v1.0.0/maxbounds/

person dinnouti    schedule 15.05.2014
comment
Это то, чем я закончил. Я бы предпочел, чтобы векторный слой оборачивался тайлами мира, чтобы не было необходимости зажимать прокрутку. Однако, насколько я могу судить, это невозможно. - person BWW; 16.05.2014