180 lines
8.6 KiB
HTML
180 lines
8.6 KiB
HTML
<!doctype html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Редактор границ для MAPS.ME</title>
|
||
<link rel="stylesheet" href="lib/leaflet.css" />
|
||
<script src="lib/leaflet.js"></script>
|
||
<script src="lib/Leaflet.Editable.js"></script>
|
||
<script src="lib/leaflet-hash.js"></script>
|
||
<script src="lib/jquery-1.11.2.min.js"></script>
|
||
<script src="config.js"></script>
|
||
<script src="borders.js"></script>
|
||
<style>
|
||
html, body, #map, #panel { margin: 0; height: 100%; }
|
||
#panel { width: 250px; float: right; padding: 1em; font-family: sans-serif; }
|
||
#panel button { font-size: 12pt; margin: 4px 0; }
|
||
#map { margin-right: 250px; }
|
||
#actions { visibility: hidden; }
|
||
#osm_actions { display: none; margin-top: 1em; }
|
||
#info { margin-top: 2em; }
|
||
#b_delete, #b_clear, .back_del { font-size: 8pt; }
|
||
#rename, #split, #join, #point, #divide, #backup, #fixcross { display: none; }
|
||
.actions input[type='text'], #search input[type='text'] { width: 150px; }
|
||
#header { border-bottom: 1px solid gray; margin-bottom: 1em; padding-bottom: 1em; }
|
||
#f_topo, #f_chars, #f_comments, #links { font-size: 10pt; }
|
||
#backup_saving, #backup_restoring { margin-bottom: 1em; }
|
||
#filefm, #old_action, #josm_old, #cross_actions { display: none; }
|
||
.h_iframe { display: none; width: 230px; height: 80px; }
|
||
</style>
|
||
</head>
|
||
<body onload="init();">
|
||
<div id="panel">
|
||
<div id="header">
|
||
<div id="filter">
|
||
Раскраска по <select size="1" id="f_type" value="size" onchange="filterSelect()">
|
||
<option value="size">размеру</option>
|
||
<option value="topo">топологии</option>
|
||
<option value="chars">буквам в назв.</option>
|
||
<option value="comments">комментариям</option>
|
||
</select>
|
||
<div id="f_size">
|
||
Цвета: 0–<input type="text" size="2" id="r_green">–<input type="text" size="3" id="r_red">
|
||
<button onclick="bUpdateColors()">✓</button>
|
||
</div>
|
||
<div id="f_topo">
|
||
Красный — есть дыры, синий — больше одного полигона.
|
||
Маркерами обозначены мелкие острова.
|
||
</div>
|
||
<div id="f_chars">
|
||
Синий — есть пробелы, красный — символы не из ASCII.
|
||
</div>
|
||
<div id="f_comments">
|
||
Красный — есть комментарий.
|
||
</div>
|
||
</div>
|
||
<div id="b_josm">
|
||
<button onclick="bJOSM()">Открыть в JOSM</button>
|
||
<button id="josm_old" onclick="bJosmOld()">ст.</button>
|
||
<button onclick="bJosmZoom()">🔍</button>
|
||
</div>
|
||
<form action="" enctype="multipart/form-data" method="post" id="filefm" target="import_frame">
|
||
Импорт <input type="file" accept=".osm,.xml" name="file" id="b_import" onchange="bImport();" style="max-width: 100px;">
|
||
</form>
|
||
<div id="backups">
|
||
<button onclick="bBackup()">Архив границ</button><br>
|
||
</div>
|
||
<div id="old_action">
|
||
<input type="checkbox" id="old" onchange="bOldBorders()"><label for="old"> старые границы</label>
|
||
</div>
|
||
<div id="links">
|
||
<a href="stat.html">Статистика</a>
|
||
<a href="import.html" id="import_link">Импорт</a><br>
|
||
<a href="#" id="poly_bbox">Скачать в poly видимое</a>,
|
||
<a href="#" id="poly_all">всё</a>
|
||
</div>
|
||
<div id="search">
|
||
Поиск <input type="text" id="fsearch"><button id="b_search" onclick="doSearch()">🔍</button>
|
||
</div>
|
||
</div>
|
||
<div id="actions" class="actions">
|
||
<div id="action_buttons">
|
||
<button onclick="bDisable()" id="b_disable">Убрать</button>
|
||
<a href="#" onclick="bDelete(); return false;" id="b_delete">Удалить</a><br>
|
||
<button onclick="bSplit()">Разрезать</button><br>
|
||
<button onclick="bJoin()">Склеить</button><br>
|
||
<button onclick="bLargest()">Выделить острова</button><br>
|
||
<button onclick="bHull()">Единый контур</button><br>
|
||
<div id="osm_actions">
|
||
<button onclick="bDivide()">Заменить регионами</button><br>
|
||
<button onclick="bPoint()">Регион из точки</button><br>
|
||
</div>
|
||
<div id="cross_actions">
|
||
<button onclick="bFixCross()">Исправить меж-mwm</button><br>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="info">
|
||
<b><a href="#" id="name_link" onclick="bShowRename(); return false;">Название:</a></b>
|
||
<span id="b_name"></span><br>
|
||
<div id="rename">
|
||
<input type="text" id="b_rename">
|
||
<button id="do_rename" onclick="bRename()">Переименовать</button>
|
||
</div>
|
||
<b>Оценка размера:</b> <span id="b_size"></span><br>
|
||
<b>Последняя правка:</b> <span id="b_date"></span><br>
|
||
<b>Количество точек:</b> <span id="b_nodes"></span><br>
|
||
<b>Площадь:</b> <span id="b_area"></span> км²<br>
|
||
<b>Статус:</b> <span id="b_status"></span><br>
|
||
<b>Комментарий:</b><br>
|
||
<textarea style="width: 240px; height: 200px;" id="b_comment"></textarea><br>
|
||
<button id="b_comment_send" onclick="bComment()">Отправить</button>
|
||
<a href="#" onclick="bClearComment(); return false;" id="b_clear">Очистить</a>
|
||
</div>
|
||
</div>
|
||
<div id="split" class="actions">
|
||
Выбрана область <span id="s_sel"></span>.<br><br>
|
||
Нарисуйте линию через выбранную область, затем нажмите кнопку<br>
|
||
<div id="s_do">
|
||
<button onclick="bSplitDo()">Разрезать область</button><br>
|
||
<button onclick="bSplitJosm()">Границы вдоль — в JOSM</button><br>
|
||
<button onclick="bSplitAgain()">Нарисовать по-другому</button>
|
||
</div>
|
||
<br>
|
||
<button onclick="bSplitCancel()">Вернуться</button>
|
||
</div>
|
||
<div id="join" class="actions">
|
||
Выбрана область <span id="j_sel"></span>.<br><br>
|
||
Выберите область, которую к ней присоединить.<br>
|
||
<div id="j_do">
|
||
Выбрана: <span id="j_name2"></span><br>
|
||
<button onclick="bJoinDo()">Склеить области</button>
|
||
</div>
|
||
<br>
|
||
<button onclick="bJoinCancel()">Вернуться</button>
|
||
</div>
|
||
<div id="point" class="actions">
|
||
Переместите маркер в нужную точку и нажмите<br>
|
||
<button onclick="bPointList()">Получить список областей</button><br>
|
||
Название <input type="text" id="p_name"><br>
|
||
<div id="p_list"></div>
|
||
<br>
|
||
<button onclick="bPointCancel()">Вернуться</button>
|
||
</div>
|
||
<div id="divide" class="actions">
|
||
Выбранная область будет заменена вложенными областями в соответствии с запросом.<br>
|
||
<br>
|
||
Like для названия выбранной области <input type="text" id="d_like"><br>
|
||
Where для субобластей <input type="text" id="d_where"><br>
|
||
<button onclick="bDividePreview()">Посмотреть субобласти</button><br>
|
||
<div id="d_none">Нет областей</div>
|
||
<div id="d_do">
|
||
<span id="d_count"></span> областей<br>
|
||
Префикс <input type="text" id="d_prefix"><br>
|
||
<button onclick="bDivideDo()">Заменить область</button>
|
||
</div>
|
||
<br>
|
||
<button onclick="bDivideCancel()">Вернуться</button>
|
||
</div>
|
||
<div id="backup" class="actions">
|
||
<button onclick="bBackupSave()" id="backup_save">Сохранить границы</button>
|
||
<div id="backup_saving">Копирую границы...</div>
|
||
<div id="backup_restoring">Восстанавливаю границы...</div>
|
||
<div>Или выберите набор границ для восстановления:</div>
|
||
<div id="backup_list"></div>
|
||
<button onclick="bBackupCancel()">Вернуться</button>
|
||
</div>
|
||
<div id="fixcross" class="actions">
|
||
Границы региона <span id="fc_sel"></span> будут поправлены, чтобы включать в себя подсвеченные красным линии.
|
||
Кликайте на линии, чтобы изменять их статус.<br>
|
||
<br>
|
||
<button onclick="bFixCrossPreview()">Посмотреть, что получится</button><br>
|
||
<div id="fc_do">
|
||
<button onclick="bFixCrossDo()">Включить линии в контур</button>
|
||
</div>
|
||
<button onclick="bFixCrossCancel()">Вернуться</button>
|
||
</div>
|
||
</div>
|
||
<div id="map"></div>
|
||
</body>
|
||
</html>
|