OSM.Browse = function (map, type) {
var page = {};
- page.pushstate = page.popstate = function (path, id) {
+ page.pushstate = page.popstate = function (path, id, version) {
OSM.loadSidebarContent(path, function () {
- addObject(type, id);
+ addObject(type, id, version);
});
};
- page.load = function (path, id) {
- addObject(type, id, true);
+ page.load = function (path, id, version) {
+ addObject(type, id, version, true);
};
- function addObject(type, id, center) {
- map.addObject({ type: type, id: parseInt(id, 10) }, function (bounds) {
+ function addObject(type, id, version, center) {
+ map.addObject({ type: type, id: parseInt(id, 10), version: version && parseInt(version, 10) }, function (bounds) {
if (!window.location.hash && bounds.isValid() &&
(center || !map.getBounds().contains(bounds))) {
OSM.router.withoutMoveListener(function () {
"/user/:display_name/history": history,
"/note/:id": OSM.Note(map),
"/node/:id(/history)": OSM.Browse(map, "node"),
- "/node/:id/history/:version": OSM.OldBrowse(),
+ "/node/:id/history/:version": OSM.Browse(map, "node"),
"/way/:id(/history)": OSM.Browse(map, "way"),
"/way/:id/history/:version": OSM.OldBrowse(),
"/relation/:id(/history)": OSM.Browse(map, "relation"),