JavaScript Bookmarklets for viewing OSM object's (node or way) deep history
jaakkoh 于 2012年三月30日 以 English 发布Continuing from my last (and also the first) note I ran into the OSM Deep History Service (osm.mapki.com/history) in the #OSM IRC channel. I’ve bumped into this some time before but because there’s no convenient way to view the Deep History page of an object (i.e. keyboard short cut from JOSM or bookmarklet or Greasmonkey script) I thought I’d give it a try and see if my “magical” JavaScript skills (i.e. copy-paste from someone else’s work) would tame this problem.
Short story short, after less than 5 minutes I had “created” bookmarklets that take you from the OSM.org/browse (object history) page for ways or nodes to the Mapki Deep History matrix of that object.
So, here they are (as text, my tech(?) skills weren’t good enough to embed the links here):
-
OSM Mapki Way’s Deep History Bookmarklet:
javascript:a=document.location.href.split('/');if(a[2]+a[3]+a[4]=='www.openstreetmap.orgbrowseway'){document.location.href=' http://osm.mapki.com/history/way.php?id='+a[5]}else{alert('This is not a valid OSM way info page.') }
-
OSM Mapki Node’s Deep History Bookmarklet:
javascript:a=document.location.href.split('/');if(a[2]+a[3]+a[4]=='www.openstreetmap.orgbrowsenode){document.location.href=' http://osm.mapki.com/history/node.php?id='+a[5]}else{alert('This is not a valid OSM node info page.') }
Enjoy!
EDIT: Instructions on how to add code to the OSM User Diary check out http://daringfireball.net/projects/markdown/syntax#code . In essence you need to "wrap it with (double) backtick quotes (`)"
, as ToeBee kindly advice me on #OSM IRC.
讨论
goldfndr 于 2012年04月 6日 06:08 的评论
By putting the a[4] into the parameter, you can handle Nodes/Ways/Relations with one bookmarklet:
javascript:a=document.location.href.split('/'); if(a[2]+a[3]=='www.openstreetmap.orgbrowse') {document.location.href='http://osm.mapki.com/history/'+a[4]+'.php?id='+a[5]} else {alert('This is not a valid OSM node/way/relation info page.')}