Показать сообщение отдельно
Старый 14.04.2015, 12:19   #1
v_max
Читатель
Доп. информация
По умолчанию SAS4Android - загрузочные скрипты

Начиная с версии 3.0 в SAS4Android реализована подгрузка недостающих тайлов с помощью внешних скриптов.

1. подгрузка делается только в непакованый кэш. Так что если у вас кэш пакованый то для подгрузки надо создать директорию для непакованого кэша с таким-же именем.
2. для того чтобы подгрузка работала надо написать javascript файлик с функцией возвращающей урл для тайла данного источника.
Как это делать подробно описано ниже.
3. Этот файл нужно положить в директорию непакованого источника.
4. Есстественно, что бы загрузка работала нужен доступ в интернет.
5. что не маловажно директория кэша должна быть доступна на запись приложению. (что вобщем проблематично на андроиде 4.4+ где запись на СД карту отгрызена)
Выкачивается ТОЛЬКО те тайлы которые нужны в данный момент на экране.
Если в кэше (любом пакованом или непакованом) тайл есть то он не будет перегружаться.
Тайл по каким-то причинам не загрузившийся (ошибки сервера ошибки связи и т п ) повторно будет пытаться грузить не ранее чем через 5 минут.
Выкачивания областей по заданным зумам НЕТ (и не планируется).

Для примера вы создали функцию для гугловского спутника и сохранили ее в файл sat.js.
Этот файл sat.js скопировать ВНУТРЬ директории <где-то-там-у вас>/CACHE/SAT
(название файла может быть любым... ищет по расширению первый попавшийся .js файл внутри директории источника )
Потом зайти в настройки и включить подгрузку из тырнета. Ну и переключиться на Google спутник.
После этого селектор карт начнет показывать на окошке карты в верхнем правом углу строчку - индикатор
rwx - (read write execute) для каждого из источников...
Индикатор этот показывается только если разрешена подгрузка в настройках
r-- означает что директория источника НЕ доступна на запись (подгрузки не будет)
rw- означает что директория доступна на запись но скрипт в ней НЕ обнаружено (подгрузки не будет)
rwx означает что директория доступна на запись и скрипт в ней есть и он будет использоваться для подгрузки. (подгрузка будет)

Как писать скрипты

Скрипты пишутся в виде функции на Javascript которая по x/y/z искомого файла
должна сформировать и вернуть url для загрузки этого тайла.

Тренироваться можно здесь.
[[Ссылки могут видеть только зарегистрированные пользователи. ]]> там сейчас в качестве примера реализация для формирования урла яндексспутника
Сигнатура функции и должна оставаться неизменной.
Функция возвращает вычисленный URL тайла

Образец функции

Fillde:[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
PHP код:
function computeUrl(mapName,x,y,z) {
        var 
url // вот в эту переменную надо сформировать урл из переданных параметров
        
return url;
}; 


Фидлы сделаны для того чтобы отладить функцию загрузки.
идем сюда. [[Ссылки могут видеть только зарегистрированные пользователи. ]]>
жмем кнопку fork - создаем свою новую копию фидла
пишем функцию в окошке javascript ... (по образцу и подобию скрипта в zmp-шке большого саса)
жмем кнопку run

В большой планете на нужном источнике находим приметный тайл...
смотрим его z/x/y их вводишь в поля в правом нижнем окошке фидла
жмем кнопку test. Если все правильно то в нем же увидим загрузившийся после нажатия тайл и сформированый урл.
Проверяем тот ли тайлик загрузился...

Когда все проверим и отладим... жмем кнопку update (сохранение на сервере) при этои урла фидла поменяется...
Новую урлу копируем и выкладываем сюда с указанием имени источника (базовое имя из map.properties)... для которого этот скрипт написан.

4 Созданную вами функцию надо скопировать и сохранить в виде отдельного your_map.js файла
(не используйте русских букв и спецсимволов в т.ч. пробелов в именах файлов)
Этот файл надо положить в директорию того источника для которого предназначена функция т.е внутрь CACHE/your_map


Скрипты закачки перехали на GitHub
[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
v_max вне форума  
29 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.03195 секунды с 11 запросами