summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-08 01:08:14 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-08 01:08:14 +0100
commit8ed703c38474c9939ab72de7d90c30c6ae4605f0 (patch)
treecb9fab5045f5eecb2242973ad497446190660e13
parent86e271d5e31f4e0ef05e0ab1eb5136ff38612cc7 (diff)
downloadChimère-8ed703c38474c9939ab72de7d90c30c6ae4605f0.tar.bz2
Chimère-8ed703c38474c9939ab72de7d90c30c6ae4605f0.zip
JS: allow customization of marker hover
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js42
1 files changed, 27 insertions, 15 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index e2c7daf..9e35f05 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -110,6 +110,9 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
new OpenLayers.Size(21, 25),
new OpenLayers.Pixel(-(21/2), -25)),
cluster_icon: null,
+ marker_hover_id:'marker_hover',
+ marker_hover_content_id:'marker_hover_content',
+ marker_hover_offset: null,
icon_start: null,
icon_step: null,
icon_end: null
@@ -823,8 +826,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
marker.setUrl(marker.icon_hover_url);
}
px = settings.map.getPixelFromLonLat(marker.lonlat);
- marker_hover = $('#marker_hover');
- marker_hover_content = $('#marker_hover_content');
+ marker_hover = $('#'+settings.marker_hover_id);
+ marker_hover_content = $('#'+settings.marker_hover_content_id);
marker_hover_content.html(marker.category_name);
var map_position = $(settings.map.div).offset();
@@ -835,8 +838,11 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+ parseInt(marker_hover.css("margin-right"), 10)
+ parseInt(marker_hover.css("borderLeftWidth"), 10)
+ parseInt(marker_hover.css("borderRightWidth"), 10);
- $('#marker_hover').css('left', px.x + map_position.left
- - width/2 + 1);
+ var pos_x = px.x + map_position.left
+ - width/2 + 1;
+ if (settings.marker_hover_offset)
+ pos_x += settings.marker_hover_offset.x;
+ $('#'+settings.marker_hover_id).css('left', pos_x);
var height = marker_hover.height();
height += parseInt(marker_hover.css("padding-top"), 10)
+ parseInt(marker_hover.css("padding-bottom"), 10)
@@ -844,10 +850,16 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+ parseInt(marker_hover.css("margin-bottom"), 10)
+ parseInt(marker_hover.css("borderBottomWidth"), 10)
+ parseInt(marker_hover.css("borderTopWidth"), 10);
- $('#marker_hover').css('top', px.y + map_position.top
- - height
- - marker.icon.size.h);
- $('#marker_hover').show();
+ console.log(px.y);
+ console.log(map_position.top);
+ console.log(height);
+ console.log(marker.icon.size.h);
+ var pos_y = px.y + map_position.top
+ - height - marker.icon.size.h;
+ if (settings.marker_hover_offset)
+ pos_y += settings.marker_hover_offset.y;
+ $('#'+settings.marker_hover_id).css('top', pos_y);
+ $('#'+settings.marker_hover_id).show();
OpenLayers.Event.stop(evt);
};
var markerOut = function (evt) {
@@ -856,7 +868,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (marker.icon_hover_url){
marker.setUrl(marker.icon_url);
}
- $('#marker_hover').hide();
+ $('#'+settings.marker_hover_id).hide();
OpenLayers.Event.stop(evt);
};
marker.events.register('click', feature, markerClick);
@@ -1407,7 +1419,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (bounds) settings.map.zoomToExtent(bounds);
},
hidePopup: function (evt) {
- $('#marker_hover').hide();
+ $('#'+settings.marker_hover_id).hide();
if (settings.hide_popup_fx) {
settings.hide_popup_fx(evt, settings)
}
@@ -1421,12 +1433,12 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
settings.current_popup.hide();
-/*
-var evtPx = {xy: settings.map.getPixelFromLonLat(
- /* settings.map.getLonLatFromViewPortPx(evt.xy))};
-evtPx.type = 'click';*/
+ /*
+ var evtPx = {xy: settings.map.getPixelFromLonLat(
+ /* settings.map.getLonLatFromViewPortPx(evt.xy))};
+ evtPx.type = 'click';*//*
settings.map.events.triggerEvent('click',
- {xy: settings.map.minPx});
+ {xy: settings.map.minPx});*/
/* {xy: settings.map.getPixelFromLonLat(
settings.map.getLonLatFromViewPortPx(evt.xy))});*/