Skip to content

Commit da67406

Browse files
committed
унифицировал ссылки на редакторы, добавил проверку на запущенность JOSM
1 parent 9d0546e commit da67406

File tree

10 files changed

+74
-34
lines changed

10 files changed

+74
-34
lines changed

allotments/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -55,7 +55,7 @@
5555
if (a.tags[x='contact:website'])
5656
st += 'Сайт: <a href="'+a.tags[x]+'" target="_blank">'+a.tags[x]+'</a><br>'
5757

58-
st += '<br><hr><small>Данные с сайта <a href="'+josm.link(a.id, a.type)+'" target="_blank">OpenStreetMap</a>'
58+
st += osm.editLinks(a)
5959

6060
return st;
6161
}

arch/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -81,7 +81,7 @@
8181
if (a.tags['addr:street'])
8282
st += 'Улица: <i>'+a.tags['addr:street']+'</i><br>'
8383

84-
st += '<br><small>#'+a.id+'</small>'
84+
st += osm.editLinks(a)
8585

8686
return st;
8787
}

data_center/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -70,7 +70,7 @@
7070
if (a.tags['building:levels'])
7171
st += 'Этажей: <i>'+a.tags['building:levels']+'</i><br>'
7272

73-
st += '<br><hr><small>Данные с сайта <a href="'+josm.link(a.id, a.type)+'" target="_blank">OpenStreetMap</a>'
73+
st += osm.editLinks(a)
7474

7575
return st;
7676
}

entrance/index.html

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -176,11 +176,9 @@
176176
comment = '<b>'+title+'</b>' + comment;
177177

178178
if (c != color.ok)
179-
{
180-
comment += '<br><br>';
181-
comment += '<a href="http://level0.osmz.ru/?url=node/'+a.id+'" target="_blank">level0</a>'
182179
stat.ne++;
183-
}
180+
181+
comment += osm.editLinks(a)
184182

185183
var radius = 2
186184
if (a.tags.entrance == 'staircase') radius = 5
@@ -235,7 +233,7 @@
235233
st += '<br>'
236234
}
237235

238-
st += '<br><small>'+a.type+'#'+a.id+'</small>'
236+
st += osm.editLinks(a)
239237

240238
return st;
241239
}

i/josm.js

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
var josm = {
2+
version: false, // версия JOSM
3+
running: false, // запущен ли редактор
4+
25
/** иконка со ссылкой на объект */
36
icon: function(id, type)
47
{
@@ -16,22 +19,30 @@ var josm = {
1619
'</a>'
1720
},
1821
/** ссылка на объект */
19-
link: function(id, type)
22+
link: function(a)
2023
{
21-
if (!type) type = josm.getType(id)
22-
return 'http://www.openstreetmap.org/browse/'+type+'/'+id
24+
var type = a.type
25+
if (!type) type = osm.getType(a.id)
26+
return 'http://127.0.0.1:8111/load_object?objects='+type[0]+a.id
2327
},
24-
/** тип объекта */
25-
getType: function(id)
26-
{
27-
var type; id += ''
28+
}
2829

29-
if (id.charAt(0) == 'n') type = 'node'
30-
if (id.charAt(0) == 'w') type = 'way'
31-
if (id.charAt(0) == 'r') type = 'relation'
30+
/** проверка запущен JOSM или нет */
31+
setInterval(x=function(){
32+
if (window.ajax)
33+
window.ajax('http://127.0.0.1:8111/version', function(a){
34+
josm.running = false
35+
if (a.protocolversion)
36+
{
37+
josm.running = true
38+
josm.version = a.protocolversion.major+'.'+a.protocolversion.minor
39+
}
40+
})
41+
}, 10000)
42+
x()
3243

33-
id = id.replace(/\D/g, '')
34-
if (!type) type = 'node'
35-
return type
36-
},
37-
}
44+
window.$(function() {
45+
var div = document.createElement('div')
46+
div.innerHTML = '<iframe name="josm" style="display: none"></iframe>'
47+
document.body.appendChild(div)
48+
})

i/lib.js

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

i/osm.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
var osm = {
22
search_region: 60, // коэффициент округления координат (чем меньше - тем больший регион скачивается)
33

4+
/** поиск объектов в OSM базе */
45
search: function(filter, handler){
56
var bounds = ''
67
if (filter.bounds)
@@ -165,6 +166,38 @@ search: function(filter, handler){
165166

166167
handler(data)
167168
})
169+
},
170+
171+
/** ссылка на объект */
172+
link: function(id, type)
173+
{
174+
if (!type) type = josm.getType(id)
175+
return 'http://www.openstreetmap.org/browse/'+type+'/'+id
176+
},
177+
/** тип объекта */
178+
getType: function(id)
179+
{
180+
var type; id += ''
181+
182+
if (id.charAt(0) == 'n') type = 'node'
183+
if (id.charAt(0) == 'w') type = 'way'
184+
if (id.charAt(0) == 'r') type = 'relation'
185+
186+
id = id.replace(/\D/g, '')
187+
if (!type) type = 'node'
188+
return type
189+
},
190+
191+
/** ссылки на редактирование */
192+
editLinks: function(a)
193+
{
194+
var st = ''
195+
st +='<hr><small>'
196+
st += '<a target="_blank" href="'+osm.link(a.id, a.type)+'">Открыть в OSM</a>'
197+
if (josm.running)
198+
st += '   <a target="josm" href="'+josm.link(a)+'">Загрузить в JOSM</a>'
199+
st += '   <a target="_blank" href="http://level0.osmz.ru/?url='+a.type+'/'+a.id+'">Открыть в level0</a>'
200+
return st
168201
}
169202

170203
}

mall/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -65,7 +65,7 @@
6565
if (a.tags['building:levels'])
6666
st += 'Этажей: <i>'+a.tags['building:levels']+'</i><br>'
6767

68-
st += '<br><hr><small>Данные с сайта <a href="'+josm.link(a.id, a.type)+'" target="_blank">OpenStreetMap</a>'
68+
st += osm.editLinks(a)
6969

7070
return st;
7171
}

navalny/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
if (x = a['contact:vk'])
6161
st += '<br>'+tab+'<a href="'+x+'" target="_blank">страница вконтакте</a>'
6262

63-
st += '<br><hr><small>Данные с сайта <a href="'+josm.link(data.id)+'" target="_blank">OpenStreetMap</a>'
63+
st += '<br><hr><small>Данные с сайта <a href="'+osm.link(data.id, data.type)+'" target="_blank">OpenStreetMap</a>'
6464

6565
return st;
6666
}

place/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<link rel="icon" href="./favicon.ico" type="image/x-icon">
99

1010
<script src="/i/ok.js"></script>
11-
<script src="/i/josm.js"></script>
1211
<script src="/i/lib.js"></script>
12+
<script src="/i/josm.js"></script>
1313
<script src="/i/ajax.js"></script>
1414
<script src="/i/osm.js"></script>
1515
<script src="/i/map.js"></script>
@@ -65,7 +65,7 @@
6565
st += '<br>'
6666
}
6767

68-
st += '<br><hr><small>Данные с сайта <a href="'+josm.link(a.id)+'" target="_blank">OpenStreetMap</a>'
68+
st += osm.editLinks(a)
6969

7070
return st;
7171
}

0 commit comments

Comments
 (0)