Как работает прокрутка на "Картах Google для мобильных устройств"?
Посетите http://www.google.com/gmm с помощью мобильного устройства - прокрутка является супер гладкой даже с плавающими панелями инструментов. Как они справляются с этим с помощью GWT?
Обновление
Я имею в виду сайт, видимый мобильным браузером, а не родным приложением. И я всегда предполагал, что любые веб-приложения Google были GWT - я предполагаю, что ошибался.
Ответы
Ответ 1
Я не вижу ничего, что указывает на то, что они используют GWT. Основываясь на ссылках в нижней части сайта, они либо говорят людям использовать уже установленное приложение Google Maps (iPhone), либо ссылаются на сайт, который загрузит приложение с родными картами для любой мобильной платформы, на которой они происходят использовать.
Я разработал пару приложений Google Maps, один из которых использует версию Javascript для карт APIv3, а другой - GWT. Даже очень простая карта с использованием API v3, которая имеет оптимизацию для мобильных устройств, не имеет прокрутки нигде почти так же плавно, как собственное приложение Google Maps на любой из платформ, которые я пробовал.
Ответ 2
Прокрутка в мобильном WebKit имеет проблемы: http://www.quirksmode.org/webkit.html. Найдите overflow
.
Решение этого iScroll.
Ответ 3
Если вы используете CSS для размещения плавающих панелей инструментов, они будут оставаться более чистыми, чем если бы вы использовали JavaScript (или обработчики GWT evet) для обновления своих позиций. Конечно, это применимо только в том случае, если вы прокручиваете содержимое страницы, и это не похоже на этот случай.
CSS3 поддерживает анимацию - возможно, они смотрят на ваш жест перетаскивания, определяют скорость, которую вы двигаете, а затем просто применяете скорости к изображениям, составляющим карту?
Ответ 4
Карты Google для мобильных устройств не выполняются с использованием веб-технологий, они написаны изначально, возможно, в C. Что будет быстрее для большинства вещей.... Подобные анимации, которые работают плавно на Android и особенно в iphone, работают намного больше рывком в браузере или веб-просмотрах.