summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js22
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);