Какую проблему решает эта функция?
Опишите желаемое решение
Возможность устанавливать предел панорамирования для панорамируемых объектов
то есть:
borderRatioVertical = {0,8}
borderRatioHorizontal = {0,8}
Опишите альтернативы, которые вы рассмотрели
Значение contain: 'inside'
имеет аналогичный стиль, но мне нужно иметь возможность переключаться между уровнями масштабирования, сохраняя при этом ограничение отношения отступов.
Спасибо, что открыли вопрос. Простите меня, если я неправильно понимаю эту функцию, но нельзя ли этого добиться, добавив элемент оболочки и используя contain: 'inside'
?
Спасибо, что ответили мне так быстро.
Может, я не совсем понимаю contain: inside
. Насколько я понимаю, это реализация: узел panzoom больше не сможет увеличивать масштаб за пределами своего родительского прямоугольника, но я ДЕЙСТВИТЕЛЬНО хочу, чтобы пользователь мог увеличивать масштаб, contain: inside
не позволяет моему объекту увеличивать масштаб. увеличить масштаб за пределами области просмотра.
Мой вариант использования: у меня есть историческая карта с большим разрешением - я хочу, чтобы пользователь мог панорамировать, она слишком велика для просмотра всего объекта, но я не хочу, чтобы пользователь «потерял карту», слишком далеко отодвинув ее. в одну сторону, что звучит как contain: outside
но я бы хотел, чтобы у них был полный контроль масштабирования, чтобы полностью уменьшить масштаб, но чтобы исследовать больше, увеличивая масштаб.
я думаю, что проблема в ограничениях, с которыми я сталкиваюсь как с inside
и с outside
inside
предполагает, что изображение достаточно мало, чтобы поместиться во вьюпорте, и имеет некоторые странные эффекты, если неoutside
предполагает, что изображение должно занимать, по крайней мере, всю область просмотра.где я мог бы представить contain: 'bounds'
, который позволял бы масштабировать и панорамировать изображение, и когда изображение больше, чем область просмотра, и вы дойдете до края или угла, оно вернется к соответствующему краю
Это звучит как уникальное поведение, и я не уверен, как встроить его в библиотеку. Я думаю, вы могли бы привязаться к событию panzoomzoom
и изменить параметр включения на «снаружи» при достижении границы. Раньше у меня была опция «авто» для contain
, которая чередовалась между inside
и outside
зависимости от размера элемента относительно контейнера. Если он меньше контейнера, ему будет присвоено значение 'inside'
, если больше - 'outside'
. Это обеспечит возможность масштабирования изображения, но всегда на виду. В любом случае, я пока оставлю это в ярлыке голосов.
@timmywil за последние два дня я случайно наткнулся на эту идею, чтобы переключаться между inside
и outside
, но это, похоже, не работает должным образом, переходя от {contain: outside}
к {contain: inside}
похоже, блокирует изображение в позиции, и кажется, что zoomIn()
и zoomOut
привязаны к настройке содержания, поэтому я даже не могу вызвать zoomOut
если не запускать его сам. Сообщите мне, если я упускаю из виду эти настройки.
Я думаю, это много слов, чтобы сказать contain: auto
кажется именно тем, что я ищу, ха
если будет голосование за автоматическую функцию, я буду рад это поддержать :)
Самый полезный комментарий
Спасибо, что ответили мне так быстро.
Может, я не совсем понимаю
contain: inside
. Насколько я понимаю, это реализация: узел panzoom больше не сможет увеличивать масштаб за пределами своего родительского прямоугольника, но я ДЕЙСТВИТЕЛЬНО хочу, чтобы пользователь мог увеличивать масштаб,contain: inside
не позволяет моему объекту увеличивать масштаб. увеличить масштаб за пределами области просмотра.Мой вариант использования: у меня есть историческая карта с большим разрешением - я хочу, чтобы пользователь мог панорамировать, она слишком велика для просмотра всего объекта, но я не хочу, чтобы пользователь «потерял карту», слишком далеко отодвинув ее. в одну сторону, что звучит как
contain: outside
но я бы хотел, чтобы у них был полный контроль масштабирования, чтобы полностью уменьшить масштаб, но чтобы исследовать больше, увеличивая масштаб.я думаю, что проблема в ограничениях, с которыми я сталкиваюсь как с
inside
и сoutside
inside
предполагает, что изображение достаточно мало, чтобы поместиться во вьюпорте, и имеет некоторые странные эффекты, если неoutside
предполагает, что изображение должно занимать, по крайней мере, всю область просмотра.где я мог бы представить
contain: 'bounds'
, который позволял бы масштабировать и панорамировать изображение, и когда изображение больше, чем область просмотра, и вы дойдете до края или угла, оно вернется к соответствующему краю