diff options
| -rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index ca664de..06b4812 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -457,14 +457,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { var marker = feature.createMarker(); /* manage markers events */ var _popup = function() { - if (settings.popupContentFull){ - var pixel = new OpenLayers.Pixel(0, 60); - var lonlat = map.getLonLatFromPixel(pixel); - lonlat.lon = settings.current_feature.lonlat.lon; - settings.map.setCenter(lonlat); - } else { - methods.center_on_feature(); - } /* show the popup */ if (settings.current_popup != null) { settings.current_popup.hide(); @@ -482,6 +474,17 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } settings.permalink.updateLink(); } + var _repan_popup = function(){ + /* re-pan manually */ + + // no clean way to detect if all the element are ready + // lack of better... + setTimeout( + function(){ + settings.current_popup.panIntoView(); + }, 1000); + } + var markerClick = function (evt) { settings.current_feature = feature; settings.current_position = feature.lonlat; @@ -490,6 +493,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } else { + methods.center_on_feature(); $('#chimere_map_menu').hide(); // Default popup if (feature.popup && feature.popup.visible()) { @@ -502,10 +506,12 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { settings.current_popup.hide(); _popup(); methods.display_feature_detail(feature.pk); + _repan_popup(); } } else { _popup(); methods.display_feature_detail(feature.pk); + _repan_popup(); } } OpenLayers.Event.stop(evt); |
