Другие языки:
- English
- français
- Nederlands
- русский
- @10 - @12
Пользовательские конфигурационные XML-файлы для JOSM
Примеры (см. комментарии в XML)
- Примеры по категориям scripts.zip
- Установка заготовок и стилей: seamap.xml, seamap_ForOfflineInstallation.zip
- Слой подложек, модуль и настройка параметров (пока только на русском языке): forestMapping.xml
Команды добавления или замены настроек
Следующий код добавляет ещё одну подложку в список:
<config> <preferences operation="append"> <!-- Любой фрагмент preferences.xml может быть использован здесь --> <tag key="download.autorun" value="true"/> <!-- пример простого изменения настройки - download.autorun := true --> <maps key="imagery.entries"> <map> <tag key="name" value="ScanEx IRS"/> <tag key="type" value="scanex"/> <tag key="url" value="IRS"/> <tag key="attribution-text" value="IRS"/> <tag key="attribution-url" value="http://irs.gis-lab.info/"/> </map> </maps> </preferences> </config>
Если взамен исплользуется <preferences operation="replace">, то все другие элементы <map> будут удалены из imagery.entries !
Ещё один пример:
<config> <preferences operation="replace"> <!-- старое содержимое draw.anglesnap.angles будет удалено --> <list key="draw.anglesnap.angles"> <entry value="30"/> <entry value="45"/> <entry value="60"/> </list> </preferences> </config>
Операции с файлами - скачивание удаление, распаковка из zip-архива
<config> <delete path="plugins/tmp"/> <!-- рекурсивное удаление plugins/tmp из каталога настроек --> <!-- base="prefs" - удалить из папки настроек; base="plugins" - удалить из папки plugins; base ="cache" - удалить из папке кэша --> <delete path="splug" base="plugins"/> <!-- рекурсивное удаление папки splug из каталога настроек --> <!--<delete path="." base="cache"/> удалить папку кэша --> <download url="http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar" path="plugins/tmp/bt.jar" mkdir="true" unzip="true"/> <!-- скачать файл из url и поместить как "path"; если mkdir="true", то все необходимые каталоги будут созданы; если unzip="true", то файл zip/jar будет распакован и затем удалён --> <download url="https://wiki.openstreetmap.org/w/images/7/79/Public-images-osm_logo.svg" path="1/logo.svg" mkdir="true" base="cache"/> <download url="file://localhost/e:/a.zip" path="qqq/a.zip" unzip="true" mkdir="true"/> <!-- копировать из локальной папки и распаковать архив --> </config>
Операции с модулями: установка, отключение, удаление
<config> <!-- установить модули и убрать их без удаления plastic_laf.jar --> <plugin install="buildings_tools;wayselector" remove="plastic_laf"/> <plugin delete="proj4j"/> <!-- отключить модуль и удалить jar --> </config>
Переменные, окна сообщений и запрос пользователя
<config> <ask var="r" text="Choose something, please!" options="0;1;2"/> <messagebox text="You choose ${r}" type="i"/> <if test="${r==0}"> <messagebox text="r=0!"/> </if> <else> <messagebox text="no, r!=0 - r=${r} actually!"/> </else> <if test="${r==1 || r==2}"> <messagebox text="r=1 or 2!"/> </if> <if test="${r!=2 && r!=0}"> <messagebox text="It is not 0, it is not 2 , so it is = 1!"/> </if> <if test="${r!=2}"> <break/> </if> <ask var="r" text="Choose something, please!" options="A;B"/> <messagebox text="You choose button number ${r}" type="i"/> </config>
JavaScript API
<config> <script><![CDATA[ API.messageBox('i','Hello!'); txt = API.askText("Enter something..."); i = API.askOption("Select background color","red;green;black"); if (i==0) API.pref['color.background']="#770000"; if (i==1) API.pref['color.background']="#007700"; if (i==2) API.pref['color.background']="#000000"; color = API.pref['color.background']; API.messageBox('i',"<html><span color='"+color+"'> You entered "+txt+"</span></html>"); if ( API.askOption("Do you want to test downloading and plugins?","") == 0 ) { // "" in askOption means Yes/No dialog API.downloadFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", "1/2/a.jar","cache"); API.downloadAndUnpackFile("http://svn.openstreetmap.org/applications/editors/josm/dist/buildings_tools.jar", "1/2a/a.jar","cache"); if( API.askOption("Do you want to delete downloaded files?","") == 0) { API.deleteFile("1","cache"); } API.pluginInstall("AlignWays"); if( API.askOption("Do you want to uninstall utilsplugin2","") == 0) { API.pluginUninstall("utilsplugin2"); } } importPackage(org.openstreetmap.josm.data); CustomConfigurator.exportPreferencesKeysByPatternToFile ("e:/config.xml", true, ".*"); //println(JSON.stringify(API.prefs)); // JSON works only on JDK1.7 //println(JSON.stringify(API.fragments)); // JSON works only on JDK1.7 ]]> </script> </config>
Смотрите также
- Обсуждение разработки: #4421
Назад к Основной странице справки
Last modified
7 years ago
Last modified on 2018-03-26T08:46:42+02:00
Note:
See TracWiki
for help on using the wiki.