Use details attribute to render changeset bounding box
Do this instead of using L.OSM.DataLayer. DataLayer makes an extra request just to get the bbox. Also it expects bbox to always exist, which is not true for some changesets.
This commit is contained in:
parent
0b0569f150
commit
c887f1d7b2
2 changed files with 27 additions and 21 deletions
|
@ -1,29 +1,26 @@
|
|||
OSM.Changeset = function (map) {
|
||||
var page = {},
|
||||
content = $("#sidebar_content"),
|
||||
currentChangesetId;
|
||||
content = $("#sidebar_content");
|
||||
|
||||
page.pushstate = page.popstate = function (path, id) {
|
||||
page.pushstate = page.popstate = function (path) {
|
||||
OSM.loadSidebarContent(path, function () {
|
||||
page.load(path, id);
|
||||
page.load();
|
||||
});
|
||||
};
|
||||
|
||||
page.load = function (path, id) {
|
||||
if (id) currentChangesetId = id;
|
||||
initialize();
|
||||
addChangeset(currentChangesetId);
|
||||
};
|
||||
page.load = function () {
|
||||
const changesetData = content.find("[data-changeset]").data("changeset");
|
||||
changesetData.type = "changeset";
|
||||
|
||||
function addChangeset(id) {
|
||||
map.addObject({ type: "changeset", id: parseInt(id, 10) }, function (bounds) {
|
||||
initialize();
|
||||
map.addObject(changesetData, function (bounds) {
|
||||
if (!window.location.hash && bounds.isValid()) {
|
||||
OSM.router.withoutMoveListener(function () {
|
||||
map.fitBounds(bounds);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function updateChangeset(method, url, include_data) {
|
||||
var data;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue