diff --git a/public/js/app.js b/public/js/app.js index 261a0e8..3ef6fd8 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -146,7 +146,7 @@ window.addEventListener('popstate', function(e) setStatus(statusMovingInHistory); if (e.state.hasOwnProperty('pointId')) { - showInfo(e.state.pointId); + showInfo(e.state.pointId, false, true); } else if (e.state.hasOwnProperty('zoom')) { diff --git a/public/js/map.js b/public/js/map.js index 6faf704..bd6b179 100644 --- a/public/js/map.js +++ b/public/js/map.js @@ -229,13 +229,14 @@ function initPoints(useBounds) * @param {type} id * @returns {Boolean} */ -function showInfo(id, mapClick) +function showInfo(id, mapClick,doNotPushToHistory) { if (!(id in points)) { return false; } mapClick = Boolean(mapClick !== undefined && mapClick === true); // true если это клик по маркеру на карте + doNotPushToHistory = Boolean(doNotPushToHistory !== undefined && doNotPushToHistory === true); // true если НЕ добавляем в history marker = points[id]; if (!(id in pointsSources)) { @@ -248,11 +249,11 @@ function showInfo(id, mapClick) } }); } else { - drawInfoPopup(id, !mapClick); + drawInfoPopup(id, !mapClick, doNotPushToHistory); } } -function drawInfoPopup(id, showPopup) { +function drawInfoPopup(id, showPopup, doNotPushToHistory) { data = pointsSources[id]; if (typeof (data.images) == 'object') { @@ -307,7 +308,10 @@ function drawInfoPopup(id, showPopup) { marker.openPopup(); } - history.pushState({pointId: id}, document.title, "/?point=" + id); + if (!doNotPushToHistory) { + history.pushState({pointId: id}, document.title, "/?point=" + id); + } + document.title = marker.options.title; });