SASGIS - SAS.Планета
View Issue Details
0000965SAS.Планета[All Projects] Багpublic06-09-2011 05:0910-10-2012 11:47
ELITE 
vdemidov 
normalmajoralways
closedfixed 
android
110418 
120808120808 
0000965: Не работает кэш в МЯК последней версии
при экспорте в МЯК на андроиде, кэш не вопринимается

хотя этот же кэш для джава версии (под s40) работает отлично
android, mobile, БД, мяк, экспорт
Issue History
06-09-2011 05:09ELITENew Issue
06-09-2011 06:22TolikNote Added: 0003714
06-09-2011 08:40ELITENote Added: 0003722
06-09-2011 11:10vdemidovNote Added: 0003732
06-09-2011 11:10vdemidovStatusnew => feedback
06-09-2011 20:07gpsMaxTag Attached: мяк
06-09-2011 20:07gpsMaxTag Attached: экспорт
06-09-2011 20:08gpsMaxSummaryне работает кеш в МЯК последней версии => Не работает кэш в МЯК последней версии
06-09-2011 20:08gpsMaxDescription Updatedbug_revision_view_page.php?rev_id=1903#r1903
06-09-2011 20:08gpsMaxNote Edited: 0003722bug_revision_view_page.php?bugnote_id=3722#r1905
09-09-2011 10:46ELITENote Added: 0003818
09-09-2011 10:46ELITEStatusfeedback => new
09-09-2011 10:46ELITENote Added: 0003819
09-09-2011 13:01ELITENote Edited: 0003818bug_revision_view_page.php?bugnote_id=3818#r1942
10-09-2011 05:42feyaNote Added: 0003832
10-09-2011 05:52vdemidovStatusnew => feedback
10-09-2011 06:41zedNote Added: 0003834
10-09-2011 07:25TolikNote Added: 0003836
10-09-2011 07:31zedNote Added: 0003837
10-09-2011 07:43feyaNote Added: 0003838
10-09-2011 07:44TolikNote Added: 0003839
10-09-2011 08:25feyaNote Added: 0003840
10-09-2011 08:26feyaNote Edited: 0003840bug_revision_view_page.php?bugnote_id=3840#r1944
10-09-2011 08:47TolikNote Added: 0003841
10-09-2011 08:52zedNote Added: 0003842
10-09-2011 08:58TolikNote Added: 0003844
10-09-2011 08:59feyaNote Added: 0003845
10-09-2011 09:00feyaNote Added: 0003846
10-09-2011 09:05TolikNote Added: 0003848
10-09-2011 09:12feyaNote Added: 0003849
10-09-2011 10:37TolikNote Added: 0003850
10-09-2011 10:54feyaNote Added: 0003851
10-09-2011 19:50zedNote Added: 0003855
10-09-2011 20:37zedNote Added: 0003857
16-09-2011 08:42TolikNote Added: 0003969
16-09-2011 08:43TolikNote Edited: 0003969bug_revision_view_page.php?bugnote_id=3969#r2008
16-09-2011 17:33zedNote Added: 0003970
17-09-2011 04:50TolikNote Edited: 0003969bug_revision_view_page.php?bugnote_id=3969#r2009
17-09-2011 04:55TolikNote Added: 0003971
17-09-2011 04:59TolikNote Edited: 0003971bug_revision_view_page.php?bugnote_id=3971#r2011
17-09-2011 05:41zedNote Added: 0003972
17-09-2011 05:41zedNote Edited: 0003972bug_revision_view_page.php?bugnote_id=3972#r2013
17-09-2011 06:26TolikNote Added: 0003973
22-09-2011 08:32zedNote Added: 0003995
18-01-2012 15:31vdemidovNote Added: 0005102
18-01-2012 15:31vdemidovStatusfeedback => resolved
18-01-2012 15:31vdemidovFixed in Version => .Nightly
18-01-2012 15:31vdemidovResolutionopen => fixed
18-01-2012 15:31vdemidovAssigned To => vdemidov
18-01-2012 20:34gpsMaxTag Attached: БД
18-01-2012 20:37gpsMaxNote Added: 0005104
23-01-2012 08:34vdemidovTarget Version => 120808
23-01-2012 08:49vdemidovFixed in Version.Nightly => 120808
23-01-2012 10:51vdemidovProduct Version => 110418
23-01-2012 18:56gpsMaxTag Attached: mobile
23-01-2012 18:56gpsMaxTag Attached: android
07-06-2012 09:37TolikNote Added: 0007335
07-06-2012 09:39TolikNote Edited: 0007335bug_revision_view_page.php?bugnote_id=7335#r3647
07-06-2012 09:40TolikNote Edited: 0007335bug_revision_view_page.php?bugnote_id=7335#r3648
07-06-2012 09:43TolikNote Edited: 0007335bug_revision_view_page.php?bugnote_id=7335#r3649
07-06-2012 09:43TolikNote Edited: 0007335bug_revision_view_page.php?bugnote_id=7335#r3650
07-06-2012 09:48TolikNote Edited: 0007335bug_revision_view_page.php?bugnote_id=7335#r3651
07-06-2012 10:01vdemidovNote Added: 0007336
07-06-2012 10:06TolikNote Added: 0007337
07-06-2012 10:20vdemidovNote Added: 0007338
07-06-2012 10:32zedNote Added: 0007339
07-06-2012 12:55TolikNote Added: 0007344
07-06-2012 13:23zedNote Added: 0007348
07-07-2012 10:19gpsMaxNote Edited: 0003818bug_revision_view_page.php?bugnote_id=3818#r3764
10-10-2012 11:47TolikStatusresolved => closed

Notes
(0003714)
Tolik   
06-09-2011 06:22   
На Андроиде важен case, т.е. имена файлов прописными или строчными. Только я забыл, какие должны быть. Посмотрите имена файлов в рабочем кэше и в созданном САС.Планетой.
(0003722)
ELITE   
06-09-2011 08:40   
(edited on: 06-09-2011 20:08)
проверил - в родном и в сасовском одинаково - прописными

(0003732)
vdemidov   
06-09-2011 11:10   
Разбирайтесь. Когда выясните в чем проблема пишите сюда. Лично у меня ни Андроида, ни МЯК нету ни в каком виде.
(0003818)
ELITE   
09-09-2011 10:46   
(edited on: 07-07-2012 10:19)
андроида щас тоже нет, но есть симбиан s60v5 - тоже не работает САСовский кеш :( хотя путь верный....

(0003819)
ELITE   
09-09-2011 10:46   
а на джаве под s40 работает всё также хорошо....
(0003832)
feya   
10-09-2011 05:42   
Я так же не могу протестить на андроиде, поэтому придется пользователям самим понять причину. Ктонибудь еще может проверить?
(0003834)
zed   
10-09-2011 06:41   
Я взялся немного поковырять МЯК4, подождите пока закончу, потом будем тестировать. У меня симбиан s60v3, к слову.
(0003836)
Tolik   
10-09-2011 07:25   
zed, описание формата можно посмотреть?
Меня интересует 1 вопрос: можно ли сделать так, чтобы сгенерированный кэш не перезаписывался МЯКом во время обновления?
Т.к. в МЯК опции "не обновлять кэш" нет и, видимо, не будет.
(0003837)
zed   
10-09-2011 07:31   
>описание формата можно посмотреть
Это к feya. Я как-то сразу и не уточнил у него, можно ли распространяться по этому поводу.

>не перезаписывался МЯКом во время обновления
Так не пускать его в интернет, вот он и не обновит.
(0003838)
feya   
10-09-2011 07:43   
>У меня симбиан s60v3, к слову.
Там все должно работать.

>Это к feya. Я как-то сразу и не уточнил у него, можно ли распространяться по этому поводу.
Я честно говоря сам не очень в курсе, можно ли распространять эту доку)
(0003839)
Tolik   
10-09-2011 07:44   
Без интернета нет ни поиска, ни маршрутов, ни пробок. Это не выход.
Т.е. я так понял, нет способа сделать необновляемый кэш? Флаг там специальный или дату установить в отдалённое будущее...
(0003840)
feya   
10-09-2011 08:25   
(edited on: 10-09-2011 08:26)
Tolik, есть.
Новый кэш позволяет делать пользователские слои.
Вот выдержка из доки:

Формат конфигурационного файла хранилища.
Конфигурационный файл сообщает дополнительную информацию о слоях, которые есть в данном хранилище - название (если есть), идентификатор, сетевой запрос (если есть). Если конфигурация отсутствует, то будет использована конфигурация по умолчанию (зашитая в приложение). Она выглядит следующим образом:
<map_layers>
  <l request="map" id="1" name="Схема" service="0" tile_pixel_size="128" ver="1" />
  <l request="sat,skl" id="2" name="Спутник" service="0" tile_pixel_size="128" ver="1" />
  <l request="pmap" id="3" name="Народная карта" service="0" tile_pixel_size="128" ver="1" />
  <l request="meta" id="4" name="" service="1" /> <!--Тип, который не может существовать сам по себе. (читай - как настройка в меню)-->
</map_layers>
Параметры:
• id - идентификатор слоя - определяет папку, в которой слой хранится на диске - обязательный параметр;
• request - определяет идентификатор в сетевом запросе для данного слоя; Если отсутствует - слой не запрашивается из сети;
• name - имя слоя - оно будет отображаться в меню; обязательный параметр для service=0 слоев;
• service - определяет сервисный слой или нет. Сервисные слои не отображаются в меню; Пользовательский слой не может быть сервисным; Не обязательный параметр, по умолчанию = 0;
• tile_pixel_size - сообщает размер тайлов в пикселах для данного слоя; Параметр никак не используется и носит чисто информационный характер;
• ver - версия слоя.

Примечание 1.
Конфигурационные файлы бывают двух типов: системные и пользовательские. Разница между этим слоями состоит в том, что пользовательские слои не синхронизируются с сервером, то есть они не замещаются списком слоев, полученных при стартапе. Системные конфигурационные файлы - это файлы с именем system.xml. Все остальные конфигурационные файлы являются пользовательскими.
Примечание 2.
Тайлы с пользовательскими слоями запрашиваются исключительно из кеша. Тайлы с системными слоями могут запрашиваются как из кеша, так и у сервера.
Примечание 3.
Поддержка пользовательских конфигураций реализована пока только на Symbian.

Т.е. если вы выделите экспортируемую карту в отдельный слой то сможете пользоваться им независимо от остальных. Теперь минус - у меня не получилось заставить работать симбайоновский мяк с дополнительными конфигурационными файлами, но добавляя в system.xml новые строки работает все отлично.

(0003841)
Tolik   
10-09-2011 08:47   
Но сейчас САС не создаёт system.xml? Надо сделать.
(0003842)
zed   
10-09-2011 08:52   
Сейчас САС не создаёт пользовательских слоёв, поэтому и в отдельном xml нет необходимости.
(0003844)
Tolik   
10-09-2011 08:58   
Ну как это нет смысла.
Если САС подменяет слой "схема", надо изменить system.xml так:
<l request="" id="1" name="Схема" service="0" tile_pixel_size="128" ver="1" />
или типа того.
Иначе самодельная карта затрётся рано или поздно яндекс-картой.
(0003845)
feya   
10-09-2011 08:59   
>Но сейчас САС не создаёт system.xml? Надо сделать.
system.xml уже есть по дефолту в новом кэше. Планета пока его никак не дергает, ибо его вообще трогать нет смысла, надо создавать свои отдельные xml, но они пока не работают) вот такой замкнутый круг.
А пока можно ручками добавить нужные строки, делов - секунда.
(0003846)
feya   
10-09-2011 09:00   
>Если САС подменяет слой "схема", надо изменить system.xml так
Ага, а потом читать в багтрекере - "после экспорта перестали грузиться родные карты".
(0003848)
Tolik   
10-09-2011 09:05   
Замкнутый круг, понятно :(
Продолжаю пользоваться МЯК 3.82...
(0003849)
feya   
10-09-2011 09:12   
>Продолжаю пользоваться МЯК 3.82...
Настолько лень самому руками поправить xml?)
(0003850)
Tolik   
10-09-2011 10:37   
Ну, честно говоря, пока не увидел никаких преимуществ в 3.9х, кроме недостатков :)
(0003851)
feya   
10-09-2011 10:54   
А чем возможность добавления нескольких своих карт не преимущество?
(0003855)
zed   
10-09-2011 19:50   
>>На Андроиде важен case, т.е. имена файлов прописными или строчными.
>проверил - в родном и в сасовском одинаково - прописными
Странно, а в доках где описывается формат кэша все имена строчными... Сделал как в доках, проверяйте.
(0003857)
zed   
10-09-2011 20:37   
>у меня не получилось заставить работать симбайоновский мяк с дополнительными конфигурационными файлами, но добавляя в system.xml новые строки работает все отлично

Аналогично, хотя пользовательский конфиг и подхватывается и карта появляется в меню, но при попытке изменить зум или сдвинуть карту - МЯК вылетает. Хотя, если добавить ту же строчку в system.xml - всё работает без вопросов. Видимо, они там ещё не докрутили эту фичу.
(0003969)
Tolik   
16-09-2011 08:42   
(edited on: 17-09-2011 04:50)
Нужна инструкция.

1. Экспорт
2. Кладём в /yandexmaps/data/cache/5/
3. Редактируем /yandexmaps/data/cache/ru/default/config/system.xml:
перед </map_layers> добавляем строку
 <l request="" id="5" name="SASPlanet" service="0" tile_pixel_size="128" ver="1" />

Так?

(0003970)
zed   
16-09-2011 17:33   
name - это как будет отображаться пункт в меню на телефоне, а вот id - имя папки, где лежит кэш, поэтому, в соответствии с приведенной строкой, кэш кладём в папку /yandexmaps/data/cache/5/
(0003971)
Tolik   
17-09-2011 04:55   
(edited on: 17-09-2011 04:59)
Исправил.
Согласитесь, это совершенно не очевидно.
Предлагаю генерить программой директории data/cache/5/ с тайлами и data/cache/ru/default/config/ с исправленным system.xml.
И README не помешает.

(0003972)
zed   
17-09-2011 05:41   
Выше feya писал:
• id - идентификатор слоя - определяет папку, в которой слой хранится на диске - обязательный параметр;
...
• name - имя слоя - оно будет отображаться в меню; обязательный параметр для service=0 слоев;

по-моему, всё очевидно...

(0003973)
Tolik   
17-09-2011 06:26   
Это неочевидно для тех, кто не читает углУбленно багтрекер.
Надо писать так, чтобы нормальный юзер просто сделал экспорт, скопировал на телефон и всё заработало. А не задавал вопросы на форуме.
(0003995)
zed   
22-09-2011 08:32   
У кого есть симбиан s60v5 и андроид, протестируйте сегодняшнюю сборку - вчера я там нашёл небольшой бажек, может из-за него и были глюки.
(0005102)
vdemidov   
18-01-2012 15:31   
Ну раз 4 месяца все молчат, считаем, что все работает.
(0005104)
gpsMax   
18-01-2012 20:37   
Упоминаемую доку, может, в вики засунуть? Если можно, конечно.
(0007335)
Tolik   
07-06-2012 09:37   
(edited on: 07-06-2012 09:48)
Пытался сейчас засунуть кэш на Андроид (МЯК 2.21 от 9/2/2012).

Не удалось создать новые юзерские карты. Пытался редактировать xml и т.д., в результате заменил яндексовский кэш самодельным, тогда он работает, НО программа скачивает свой кэш и затирает самодельный.

Подробнее, что делал.
Там есть директории:
yandexmaps\data\cache\ru-RU\default\ и в ней 1\, 2\, 3\, 4\, config\system.xml
yandexmaps\data\cachedownload\ru-RU\usercache\ (пустая)

SAS создал директории 11\, 12\ и config\user.xml

Я положил всё это в default - не работает, т.е. в меню Вид новые кары не появились.
Отредактировал system.xml - то же.
Положил это в usercache - то же.
Скопировал всё из директории 11 в мяковскую директорию 1, а из 12 - в 2. Всё показывает как надо, но со временем портится.

Что я делаю не так?
Как сделать, чтобы хотя бы в таком тупом варианте подмены не портились (кроме отключения телефона в офлайн)?



Содержимое system.xml по умолчанию (так, на всякий случай):

<?xml version="1.0" encoding="UTF-8"?>
<map_layers>
 <l request="map" id="1" name="Схема" ver="5" service="0" size_in_pixels="128" allows_night_mode="1" />
 <l request="sat,skl" id="2" name="Спутник" ver="5" service="0" size_in_pixels="128" allows_night_mode="0" />
 <l request="pmap" id="3" name="Народная" ver="5" service="0" size_in_pixels="128" allows_night_mode="1" />
 <l request="meta" id="4" name="" ver="8" service="1" size_in_pixels="0" allows_night_mode="1" />
</map_layers>


P.S. все имена файлов - строчными буквами.

(0007336)
vdemidov   
07-06-2012 10:01   
Какое это имеет отношение к САС.Планете? Это прямиком к авторам МЯК под Андроид.
(0007337)
Tolik   
07-06-2012 10:06   
Ну мы же должны придумать, как использовать кэш из SAS в МЯК.
Экспорт сделали, а то, что им пользоваться невозможно - пофиг?
А обращаться к Яндексу с проблемой, что гугл не работает - смешно даже.
(0007338)
vdemidov   
07-06-2012 10:20   
Ты сам сказал, что оно вместо основного кэша работает. Значит экспорт работает нормально, а то как использовать результаты, к этому инциденту никакого отношения не имеет.
Так что я эти сообщения потру как оффтопик.
(0007339)
zed   
07-06-2012 10:32   
>Отредактировал system.xml - то же.
а user.xml удалить не забыл?

>А обращаться к Яндексу с проблемой, что гугл не работает - смешно даже.
Если не работают пользовательские карты, то это баг МЯК. И на стороне САСа тут исправлять и "думать" не о чем.
(0007344)
Tolik   
07-06-2012 12:55   
Нет, удалить не забыл.
Так куда всё-таки надо по идее класть кэш, в default или в usercache? И куда какой xml?

С Яндексом я давно общаюсь. Быстрее Андроид загнётся (появится какой-нибудь ведроид), чем они порешают свои баги.
А в САС бага нет, потому я и не переоткрыл этот, а только добавил коммент.
Не надо удалять, пригодится тем, кто ещё будет делать экспорт, т.к. в Вики нет вообще ничего. А нет, потому что я не знаю, как правильно.
(0007348)
zed   
07-06-2012 13:23   
>Так куда всё-таки надо по идее класть кэш, в default или в usercache? И куда какой xml?
Вот, когда выяснишь - напиши :)

Кстати, на форуме тоже жаловались, что на андроиде проблемы: http://sasgis.org/forum/viewtopic.php?f=39&t=1622&start=30#p28109 Наверное, именно там и нужно было поднимать этот вопрос заново, а не некропостить в отработанный тикет.