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); | 
