Экспорт в МЯК под Андроид
Модератор: Tolik
Re: Экспорт в МЯК под Андроид
Пока остановился на варианте экспорта в старый формат "версии 3" и копирования кэша по пути yandexmaps\cache (папку создавать руками). Теперь кэш мяк видит. Все-таки предполагается режим работы не только оффлайн.
Re: Экспорт в МЯК под Андроид
Tolik писал(а):И можно выбрать через меню скачанный кэш или обычные карта/спутник?
Да как бы нет там такого, мяк видит что новой версии кэша в папках нет и скачать не от куда (оффлайн) - берет старый. Есть правда еще папочка "\yandexmaps\data\cachedownload\ru-RU\100\usercache" рядом еще лежит файлик state.dat.
-
Tolik
- Гуру
- Сообщения: 2604
- Зарегистрирован: 28 янв 2011, 10:38
- Благодарил (а): 283 раза
- Поблагодарили: 587 раз
Re: Экспорт в МЯК под Андроид
vai писал(а):берет старый
А потом его затирает, когда выходит в сеть?
Это можно как-то предотвратить?
Re: Экспорт в МЯК под Андроид
Не должен.
http://ymm.sytes.net/rubrs.asp?rubr_id=268&art_id=3333
http://ymm.sytes.net/rubrs.asp?rubr_id=268&art_id=3333
Код: Выделить всё
Нет! Яндекс наконец-то пошел на встречу пользователям и реализовал обратную совместимость нового кэша со старым (v3)
Итак, бояться ничего не надо - ранее накопленный кэш карт работает и никуда перекладывать его не надо. Он лежит на своём месте, как и описано в нашем readme по установке карт и используется для показа, одновременно с просмотром карт на экране тайлы переписываются в новый формат кэше в директорию расположенную рядом.
Как это работает:
Есть 2 директории:
yandexmaps\cache - тут лежит кэш карт версии 3
yandexmaps\data\cache - сюда кладётся кэш версии 4 (в новом формате)
МЯК, когда ей нужно показать квадратик (тайл) карты делает следующее:
1. Ищет тайл в новом кэше (v4)
2. Если его нет в новом - ищет в старом (v3, /yandexmaps/cache/ )
3. Если там есть (то есть у вас установлены карты скачанные с нашего сайта) - берёт тайл отсюда и перекладывает его в кэш версии 4, в новое место. Тайлу присваивается некий базовый номер версии.
4. Если и там нет - грузится кусок карты с интернета и укладывается в кэш версии 4.
5. Программа отображает карту на экране.
6. Если МЯК в режиме Онлайн и версия в тайле карты отличается от текушей версии карт, которую сервер яндекса считает последней - посылается запрос на сервер содержащий данные о тайле (хэш) и получает ответ - тайл совпадает с серверным - в новом кэше ему прописывается номер последней версии карт и больше, до обновления номера версии карт яндексом он проверяться не будет.
7. Если в ответе сервера значится что тайл в кэше не совпадает с серверным- загружается обновлённый и заменяет собой устаревший.
Итак, делаем выводы:
Нынешний кэш карт (версии 3) - лежит на старом месте, и прекрасно работает, до очередного обновления карт на серверах яндекса.
Мало того, пока мы не раскопаем формат нового кэша, и не выпустим новые версии програмного обеспечения для работы с кэшем, а так-же для совместимости (не выкладывать же архивы в 2-х копиях) - когда карты обновятся - выкачаем обновлённые, выложим в старом формате и будет то-же самое.
Серверную версию карт Яндекс обещал поднимать 1 раз в месяц - таким раз в месяц программа будет слать очень короткие запросы серверу и поднимать номер версии у неизменившихся тайлов до актуальной, либо заменять только изменившиеся (скажем исправленные по отзывам из формы обратной связи на maps.yandex.ru) тайлы карт.
Re: Экспорт в МЯК под Андроид
Господа, прошел почти год как сейчас дела обстоят? Скачал последнюю ночную сборку, заметил появилась при экспорте в мяк 3.91 и выше можно выбрать размер тайла? Какой правильно выбирать?
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Экспорт в МЯК под Андроид
Да вроде пока никто не жалуется.vai писал(а):Господа, прошел почти год как сейчас дела обстоят?
Размер тайлов 512*512 пикс. будет актуален для retina дисплеев (iphone, ipad).vai писал(а):Какой правильно выбирать?
Re: Экспорт в МЯК под Андроид
Посмотрел, у меня последняя версия мяк под андроид делает кэш по пути yandexmaps\data\shared\cache\ru-RU\200\ в ней папки 1 и 4, глубже группа папок от 7 до 17 в обеих каталогах 1 и 4. Последняя ночная сборка сделала папки (взял небольшой участок) 10, 11, config. Подскажите алгоритм, как правильно подсунуть андроиду?
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Экспорт в МЯК под Андроид
Очевидно - скопировать всё что сделал САС в папку с кэшем андроида (туда, где папки 1-4). Если не заведётся, то удалить папки 1-4, и переименовать 10 в 1, а 11 в 2.vai писал(а):Подскажите алгоритм, как правильно подсунуть андроиду?
И если мне память не изменяет, то там было 2 версии кэша. Это нужно учитывать и смотреть какая версия программы установлена на телефоне и для какой генерируете кэш.
И почитайте соседние топики. Тема "Последняя ночная сборка сделала папки (взял небольшой участок) 10, 11, config и что с ними делать?" уже обсуждалась и не один раз.