From 1f250c45bda8a499d47b9d5fcc3cba0eb969507a Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sun, 16 Mar 2014 16:47:27 +0000 Subject: [PATCH] Make sure the query location is always in view --- app/assets/javascripts/index/query.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/index/query.js b/app/assets/javascripts/index/query.js index 5ce996927..d9906407d 100644 --- a/app/assets/javascripts/index/query.js +++ b/app/assets/javascripts/index/query.js @@ -256,17 +256,23 @@ OSM.Query = function(map) { page.pushstate = page.popstate = function(path) { OSM.loadSidebarContent(path, function () { - page.load(path); + page.load(path, true); }); }; - page.load = function(path) { - var params = querystring.parse(path.substring(path.indexOf('?') + 1)); + page.load = function(path, noCentre) { + var params = querystring.parse(path.substring(path.indexOf('?') + 1)), + latlng = L.latLng(params.lat, params.lon); + + if (!window.location.hash && + (!noCentre || !map.getBounds().contains(latlng))) { + OSM.router.withoutMoveListener(function () { + map.setView(latlng, 15); + }); + } queryOverpass(params.lat, params.lon); enableQueryMode(); - - return map.getState(); }; page.unload = function() { -- 2.43.2