2015-11-10 1 views
2

Когда я установил опцию continuousWorld=true, маркеры не показаны на клонированных плитах, только в главном мире. Это спроектированное поведение? Может быть другой вариант, который я не заметил, чтобы показать эти маркеры?Маркеры не отображаются в непрерывном мире в Листовке

UPD: Моя цель - повторить маркеры в каждом мире, как на картинке ниже. Я исследовал, что continuousWorld и worldcopyjump не подходят для этого. Так можно ли сделать работу с лифтом, как на картинке?

ответ

2

К сожалению, нет автоматического и готового решения, которое я знаю об этом, скопировал бы все содержимое (маркеры, векторы и т. Д.) На соседние копии мира в Листовке.

Самый простой трюк, предложенный Томиславом, заключается в том, чтобы вручную генерировать дополнительные копии вашего контента, смещенные на кратные 360 градусов долготы. Я думаю, что continuousWorld tileLayer вариант должен быть оставлен на false для этого. В сочетании с опцией карты worldCopyJump вы можете добиться желаемого эффекта за счет клонирования своего контента несколько раз.

Это, как говорится, может быть всего лишь 1 возможным решением для вашей цели, которое вы действительно не объяснили?

Если вы хотите, чтобы пользователь не видел пустой мир, возможно, вы могли бы просто не показывать соседние копии мира. У вас есть несколько способов достижения этого, и вы можете использовать их в совокупности:

  • noWrap tileLayer option не отображать соседние копии.
  • maxBounds map option, чтобы закрепить панорамирование до 1 границы мира (или любых других заданных границ).
  • minZoom map option, чтобы избежать слишком большого увеличения, чтобы в порт просмотра не было места для нескольких копий мира.

Демо: http://jsfiddle.net/ve2huzxw/20/

Примечание: если minZoom достаточно велико, использование worldCopyJump map option оказывает очень похожий эффект, как в Google Maps, то есть вы думаете, катятся по всему миру и найти свое содержание еще раз. Просто у вас никогда не будет возможности увидеть одно и то же местоположение дважды на одном экране и что карта автоматически откатывается на 360 градусов, чтобы оставаться на контенте. Это все еще заметно на границе долготы -180/+180 градусов, так как у вас есть либо контент слева, либо справа, но никогда оба одновременно.

Демо: http://jsfiddle.net/ve2huzxw/21/

2

При использовании непрерывного мира и необходимости отображения маркеров на других «копиях» карты вы должны установить координаты этого маркера в координаты этого «мира».

только «центральный» мир имеет координаты в диапазоне от -180 до 180 и от -90 до 90

Так что для мира в правой долготу бы начать на 180 для того, что миры -180. Аналогично другим сторонам.

В принципе, вы можете добавить новый маркер с долготой, увеличенной/уменьшенной на 360 градусов для каждой «копии».

+0

Если я работаю непосредственно с Google Maps поведение отличается, не так ли? Диапазон карт Google составляет от -180 до 180 и от -90 до 90. – cadmy

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