Как Google Maps (веб-приложение) масштабируется так гладко на iphone / ipad с помощью жеста / пинч? - PullRequest
2 голосов
/ 08 сентября 2010

Если вы использовали веб-приложение Google Maps на своем iphone или ipad, вы знаете, о чем я говорю. Вы не можете видеть мои пальцы на этом снимке экрана, но это среднее увеличение (если хотите) уменьшения масштаба. Детализированная область была начальной областью просмотра карты, а размытый бит снаружи - это дополнительная карта, которая появилась на полпути.

zooming out with gesture

Функция пинч-масштабирования, использующая сенсорный ввод с помощью жестов, масштабирует карту, отображаемую в данный момент, в режиме реального времени настолько гладко, что выглядит как волшебство. Мы пытаемся масштабировать изображения и воспроизводить это плавное масштабирование. Кто-нибудь знает, как они это делают?

Мы не знаем, масштабируется ли это единственный элемент img. Или, может быть, все элементы img в их матрице относительной сетки как-то масштабируются одновременно (это кажется маловероятным). Может быть, это много элементов canvas или один большой элемент canvas (в этом мы также сомневаемся после разумного количества испытаний). Пожалуйста, любые предложения, идеи или ответы (если вы из Google) были бы хорошими.

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Вам необходимо использовать ускоренные CSS3 преобразования.Например,

  • translate3d () вместо translate ()
  • scale3d () вместо scale ()

Только мобильное сафари в настоящее время поддерживает аппаратное ускорение.Неизвестно, когда Google будет реализовывать это для версий своего браузера для Android.

0 голосов
/ 01 декабря 2010
...