Я столкнулся с действительно серьезной проблемой (по крайней мере, для меня). Я дам вам некоторую предысторию.
Я разрабатываю мобильное веб-приложение, которое будет отображать информацию об автобусных и велосипедных остановках в моем городе. Он покажет маркеры GMap для автобусных и велосипедных остановок, и, если вы нажмете на них, у вас будет информация о времени прибытия автобуса или о том, сколько велосипедов доступно. У меня это довольно хорошо покрыто.
Проблемная часть - загрузка станций.
Мой первый подход заключался в загрузке всего количества станций при загрузке страницы. Это около 200 КБ JSON плюс время, которое он получает на итерацию по массиву и размещение его на карте. Они загружаются скрыто, поэтому, когда пользователи нажимают на название строки, они появляются с помощью функции «findMarker». Если на карте присутствовали другие станции, они скрываются, чтобы на карте не было слишком много маркеров.
Это хорошо работает с новыми мобильными телефонами, такими как iPhone 4 или новый HTC, но не работает с мобильными телефонами двухлетней давности.
Второй подход, который я подумал, заключался в том, чтобы загрузить их по запросу , поэтому вы нажимаете на станцию, они загружаются на карту, а затем отображаются, но это приводит к двум проблемам:
Наконец, я подумал об использовании LocalStorage для их хранения, поскольку они не так сильно изменятся, но будут представлять собой огромное количество данных, а затем, заноза в заднице, получить их в том виде, в каком они есть. ключ-значение, а также (и я не совсем уверен в этом) я мог найти устройства без поддержки этой функции, которые должны были бы откатиться к одному из других вариантов.
Итак, я подумал, что может быть кто-то столкнулся с какой-то подобной проблемой и решил ее каким-то образом или дал мне несколько советов :).
Любая помощь будет очень признательна.