X-Git-Url: https://dev.renevier.net/gitweb.cgi?p=syp.git;a=blobdiff_plain;f=js%2Fsyp.js;h=2c87c2b34bb83b64ae8fe784d9558f2343d519d8;hp=d8a54b5d5a59611d44cb4663e5dbec309161abb7;hb=12376baf148afee289fbb53dd16ee2a0841d5290;hpb=e57c166b46cf9c5961bca1b2241783944277cef5 diff --git a/js/syp.js b/js/syp.js index d8a54b5..2c87c2b 100644 --- a/js/syp.js +++ b/js/syp.js @@ -18,10 +18,9 @@ OpenLayers.Control.SypAttribution = OpenLayers.Class (OpenLayers.Control.Attribu var SYP = { Settings: { - MARKER_ICON: "openlayers/img/marker-blue.png", - MARKER_ICON_HEIGHT: 25, - MARKER_SELECT_ICON: "openlayers/img/marker-green.png", - MARKER_SELECT_ICON_HEIGHT: 25 + MARKER_ICON: "media/marker-normal.png", + MARKER_SELECT_ICON: "media/marker-selected.png", + MARKER_HEIGHT: 25 }, map: null, @@ -77,7 +76,7 @@ var SYP = { }, { context: { height: function(feature) { - var defaultHeight = SYP.Settings.MARKER_ICON_HEIGHT || 32; + var defaultHeight = SYP.Settings.MARKER_HEIGHT || 32; var increase = 4 * (feature.attributes.count - 1); return Math.min(defaultHeight + increase, 50); } @@ -85,7 +84,7 @@ var SYP = { }); var selectStyle = new OpenLayers.Style({ externalGraphic: this.Settings.MARKER_SELECT_ICON, - graphicHeight: this.Settings.MARKER_SELECT_ICON_HEIGHT || 32 + graphicHeight: this.Settings.MARKER_HEIGHT || 32 }); var styleMap = new OpenLayers.StyleMap ( {"default": defaultStyle, @@ -170,7 +169,12 @@ var SYP = { } var popup = feature.popup; - var brCorner = SYP.Utils.brCorner(map, 8); + var popupPos = null; + if (sypPopupNearFeature) { + popupPos = feature.geometry.getBounds().getCenterLonLat(); + } else { + popupPos = SYP.Utils.brCorner(map, 8); + } // we cannot reuse popup; we need to recreate it in order for IE // expressions to work. Otherwise, we get a 0x0 image on second view. @@ -190,7 +194,7 @@ var SYP = { this.map.events.register("movestart", this, this._unselect = function () { this.unselect(feature)}); return; } - popup = SYP.createPopup(brCorner, contentHTML); + popup = SYP.createPopup(popupPos, contentHTML); var control = this; popup.hide = function () { OpenLayers.Element.hide(this.div);