SASGIS - SAS.Планета
View Issue Details
0001295SAS.Планета[All Projects] Багpublic10-05-2012 19:1813-05-2012 10:53
LastDragon 
Tolik 
normalmajoralways
closedno change required 
WindowsXPSP3
.Nightly 
 
0001295: Пропущен слой при экспорте в МЯК v3.91 и выше
Пытаюсь сделать экспорт выбранной области в последний (на данный момент) МЯК, задаю соответствие для слоев (см. вложение), выполняется экпорт. НО на выходе имеем только 2 слоя (вместо трех).

После заливки карт в телефон (nokia 5800), МЯК позволяет выбрать новый слой, загружает изображения, и при любых действиях падает (зум, прокрутка)

user.xml
--------------
<?xml version="1.0" encoding="utf-8" ?>
<map_layers>
    <l id="12" request="" name="Гибрид (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
    <l id="11" request="" name="Карта (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
</map_layers>
--------------
мяк
png sasplaneta-export-bug.png (26,352) 10-05-2012 19:18
http://www.sasgis.org/mantis/file_download.php?file_id=793&type=bug
png
Issue History
10-05-2012 19:18LastDragonNew Issue
10-05-2012 19:18LastDragonFile Added: sasplaneta-export-bug.png
11-05-2012 07:37zedNote Added: 0006942
11-05-2012 07:45LastDragonNote Added: 0006943
11-05-2012 08:11zedNote Added: 0006946
11-05-2012 08:41LastDragonNote Added: 0006951
11-05-2012 08:52zedNote Added: 0006953
11-05-2012 08:53zedNote Edited: 0006953bug_revision_view_page.php?bugnote_id=6953#r3420
11-05-2012 08:54zedNote Edited: 0006953bug_revision_view_page.php?bugnote_id=6953#r3421
11-05-2012 09:35TolikNote Added: 0006955
11-05-2012 09:36TolikStatusnew => closed
11-05-2012 09:36TolikAssigned To => Tolik
11-05-2012 09:36TolikResolutionopen => no change required
13-05-2012 10:53gpsMaxTag Attached: мяк

Notes
(0006942)
zed   
11-05-2012 07:37   
>НО на выходе имеем только 2 слоя
Ну так всё правильно: на Спутник накладывается Гибрид и карта называется по имени гибрида (у вас это Гибрид (Яндекс.Карты)), а Карта сохраняется "как есть".

>и при любых действиях падает (зум, прокрутка)
Скорее всего, вы просто положили user.xml рядом с system.xml, а в текущей версии мобильного яндекса замечен такой баг, что он падает, если ему положить 2 xml-я.
Т.е. вам нужно просто скопировать описание карт из user.xml в system.xml и удалить user.xml из папки config на телефоне.

В итоге, system.xml должен быть таким:

<?xml version="1.0" encoding="utf-8" ?>
<map_layers>
    <l id="1" request="map" name="Схема" service="0" size_in_pixels="128" ver="5" />
    <l id="2" request="sat,skl" name="Спутник" service="0" size_in_pixels="128" ver="5" />
    <l id="3" request="pmap" name="Народная" service="0" size_in_pixels="128" ver="5" />
    <l id="4" request="meta" name="" service="1" size_in_pixels="" ver="6" />
    <l id="12" request="" name="Гибрид (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
    <l id="11" request="" name="Карта (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
</map_layers>
(0006943)
LastDragon   
11-05-2012 07:45   
> Ну так всё правильно: на Спутник накладывается Гибрид и карта называется по имени гибрида (у вас это Гибрид (Яндекс.Карты)), а Карта сохраняется "как есть".

А как тогда получить раздельно спутник (без надписей) и гибрид (тот же спутник, но с надписями)?

> Скорее всего, вы просто положили user.xml рядом с system.xml
Ясно, спасибо за информацию.

Кстати, еще небольшой баг - если выполнить повторно экпорт в туже директорию, то user.xml буде содержать по две записи для каждого слоя:
------------
<?xml version="1.0" encoding="utf-8" ?>
<map_layers>
    <l id="12" request="" name="Гибрид (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
    <l id="11" request="" name="Карта (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
    <l id="12" request="" name="Гибрид (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
    <l id="11" request="" name="Карта (Яндекс.Карты)" service="0" size_in_pixels="128" ver="1" />
</map_layers>
(0006946)
zed   
11-05-2012 08:11   
>А как тогда получить раздельно спутник (без надписей) и гибрид (тот же спутник, но с надписями)?
Очевидно, сделать экспорт два раза, с разными настройками и в разные целевые папки. Номера кэшей (имена папок и описание в xml) потом нужно будет изменить, чтобы не совпадали.

>Кстати, еще небольшой баг - если выполнить повторно экпорт в туже директорию, то user.xml буде содержать по две записи для каждого слоя:
Тут сложный вопрос - конечно, то что записи дублируются - баг, но вообще стоит ли разрешать повторный экспорт в туже самую папку? Ведь если экспортировать разные карты в одну папку там получится такая каша, что потом фиг разберёшь. Сейчас просто этот вопрос никак не контролируется - всё в руках пользователя. Т.е. при обнаружении user.xml в целевой директории нужно либо выдавать исключение, что повторный экспорт в туже папку запрещён, либо нужно распарсить существующий xml и проверить, чтобы имена карт совпадали и только тогда экспорт можно разрешить. Либо ещё какое поведение предусмотреть.
В общем, это тема для отдельного бага/хотелки.
(0006951)
LastDragon   
11-05-2012 08:41   
> Очевидно, сделать экспорт два раза, с разными настройками и в разные целевые папки.
ИМХО, нелогично, правильнее было бы экспортировать сразу три слоя (так же как они указаны в настройках).
(0006953)
zed   
11-05-2012 08:52   
(edited on: 11-05-2012 08:54)
>ИМХО, нелогично
Третий слой (Гибрид) это ничто иное, как полупрозрачный png с дорогами/названиями. Т.е. его нужно в любом случае накладывать на спутник. Если генерировать сразу три карты, как вы предлагаете, то тот, кто закажет себе две карты (спутник+гибрид и карту) получит сразу три (спутник, спутник+гибрид, карта)! А зачем ему тратить доп. время на ожидание лишней карты?. Имхо, это гораздо более нелогично, что то что есть сейчас.

(0006955)
Tolik   
11-05-2012 09:35   
Дело в том, что в САС гибрид - это только надписи без подложки, а в МЯК их наложить на спутник невозможно. Так что всё сделано правильно.
По поводу дублирующихся строк можете открыть другой багрепорт, если это действительно мешает.