Anonymous | Login | Signup for a new account | 23-11-24 08:14 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0003610 | SAS.Планета | [All Projects] Хотелка | public | 22-01-2020 15:48 | 20-02-2021 23:14 | ||||
Reporter | zed | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 191221 | ||||||||
Target Version | 200606 | Fixed in Version | 200606 | ||||||
Summary | 0003610: PascalScript: Добавить функцию получения Url из шаблона | ||||||||
Description | В свежем PR#27 пришли zmp со вспомогательным скриптом, реализующем логику получения url из шаблона: Someone wrote Этот скрипт призван упростить добавление новых карт в SasPlanet. Он избавит начинающих пользователей от необходимости программировать на Pascal, чтобы вносить изменения в файл GetUrlScript.txt при добавлении каждой новой карты. Теперь можно просто вставлять привычный URL с заглушками типа {x}, {y}, {z} в поле DefURLBase из файла params.txt. На пример, так: DefURLBase=http://{s:a,b,c}.tile.openstreetmap.org/{z}/{x}/{y}.png Скрипт разрабатывали Nnngrach и Erelen --- Список доступных параметров для автозамены: {x} Номер тайла по оси X. (Как в картах OpenStreetMaps) {y} Номер тайла по оси Y. (Как в картах OpenStreetMaps) {z} Уровень приближения/зума. (Как в картах OpenStreetMaps) {q} Номер тайла в системе QuadKey. (Как в картах Bing) {-y} Инвертированный номер тайла по оси Y. (Как на сайте Nakarte) {bbox} Координаты границ тайла. (Для WMS серверов) {timeStamp} Текущее время в формате UnixTime. (Для карт с пробками) {z+1} Уровень зума. (Для карт, хранящихся в формате SasPlanet) {x/1024} Номер первой подпапки (Для карт, в формате SasPlanet) {y/1024} Номер второй подпапки (Для карт, в формате SasPlanet) {s:a,b,c} Буква или цифра с номером зеркала сервера. В данном случае - одна из букв (A,B,C), выбранная рандомно. Предлагаю добавить в SAS некую функцию "TemplateToUrl" которая будет выполнять все нужные замены и избавит от необходимости таскать этот скрипт в каждом zmp. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | GetUrlScript.txt [^] (7,315 bytes) 22-01-2020 15:49 [Show Content] | ||||||||
Relationships | ||||||
|
Notes | |
(0019632) vdemidov (manager) 22-01-2020 17:35 |
А я бы предложил подумать о том, что бы сделать по какому-то ключу в params.txt создание другого урл-генератора чисто по такому шаблону. Вообще без запуска PascalScript. |
(0019633) zed (manager) 22-01-2020 17:40 |
Да, я думаю что можно сделать так, что если файла GetUrlScript нету вообще, то генерировать url из этого шаблона. А если файл есть, то просто предоставлять такую функцию (мало ли нужно куки какие обновлять или ещё что). В коде это будет жить всё в одном месте, но будет заложено вот такое вариативное поведение. |
(0019634) vdemidov (manager) 22-01-2020 17:57 |
Нормальный вариант. Главное хорошо и непротиворечиво плейсхолдеры продумать. Еще версия нужна и текущий язык (на всякий случай) |
(0019635) nnngrach (reporter) 22-01-2020 21:22 |
Первые 5 плейсхолдеров (x y z q -y bbox) я брал из LeafLet: по моим наблюдениям, чаще всего используется именно такое написание. Думаю, их лучше оставить как есть. Следующие 4 придумывал сам (timeStamp, z+1, x/1024, y/1024). Если нужно, то можно переименовывать, если есть идеи, на что именно. Насчет последнего плейсходера {s:a,b,c}. Я думаю, гораздо удобней и привычней будет использовать вместо него стандартный ЛифЛетовский плейсхолдер {s}. А для ввода значений просто добавить новое поле в Params.txt. Например, такое: ServerNames=a,b,c |
(0019636) zed (manager) 26-01-2020 09:49 |
С переменной для языка возник вопрос. В запросах обычно фигурирует такой формат: "en_US", "ru_RU", а у нас же в переменной просто "en" или "ru". Надо делать какое-то сопоставление или что? |
(0019637) zed (manager) 26-01-2020 11:15 |
Закончил, можно тестировать. В скрипты добавлена функция
которая из шаблона генерирует url. Если файла GetUrlScript.txt нету или он пуст (в том числе не содержит ни пробелов, ни переводов строк), происходит автоматическое генерирование url, так, как-будто выполняется вот такой скрипт:
В качестве параметров для замены доступны все параметры из описания тикета, плюс 2 параметра {lang} и {ver} (язык и версия, соответственно). Если нужны ещё какие-то параметры, пишите - добавлю. nnngrach В комментариях к скрипту я вижу вы столкнулись с тем, что некоторые функции не работают или работают не так как надо - не плохо бы открыть соответствующие тикеты по этому поводу, возможно это можно как-то починить. |
(0019638) nnngrach (reporter) 31-01-2020 15:13 edited on: 31-01-2020 15:14 |
Работает, спасибо! Надо теперь не забыть в Wiki про новые теги написать. |
Users who viewed this issue | |
User List | Anonymous (1942x), stepanxxx (2x), Tolik (4x), flyer800 (1x), vdemidov (13x), ingener (3x), zed (23x), MAULANA0805 (4x), rass (4x), nnngrach (20x), k-dmitriy (2x), Erelen (1x), Garl (1x) |
Total Views | 2020 |
Last View | 23-11-2024 08:14 |
Issue History | |||
Date Modified | Username | Field | Change |
22-01-2020 15:48 | zed | New Issue | |
22-01-2020 15:49 | zed | File Added: GetUrlScript.txt | |
22-01-2020 15:50 | zed | Description Updated | View Revisions |
22-01-2020 15:55 | zed | Description Updated | View Revisions |
22-01-2020 17:35 | vdemidov | Note Added: 0019632 | |
22-01-2020 17:40 | zed | Note Added: 0019633 | |
22-01-2020 17:57 | vdemidov | Note Added: 0019634 | |
22-01-2020 21:22 | nnngrach | Note Added: 0019635 | |
25-01-2020 12:28 | zed | Assigned To | => zed |
25-01-2020 12:28 | zed | Status | new => assigned |
25-01-2020 12:28 | zed | Target Version | => 211230 |
26-01-2020 09:49 | zed | Note Added: 0019636 | |
26-01-2020 11:15 | zed | Note Added: 0019637 | |
31-01-2020 15:13 | nnngrach | Note Added: 0019638 | |
31-01-2020 15:14 | nnngrach | Note Edited: 0019638 | View Revisions |
01-02-2020 06:07 | zed | Status | assigned => resolved |
01-02-2020 06:07 | zed | Fixed in Version | => 211230 |
01-02-2020 06:07 | zed | Resolution | open => fixed |
06-05-2020 06:44 | zed | Relationship added | related to 0003669 |
01-06-2020 16:44 | zed | Target Version | 211230 => 200606 |
01-06-2020 16:44 | zed | Fixed in Version | 211230 => 200606 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |