Created
March 23, 2012 09:27
-
-
Save brunob/2168921 to your computer and use it in GitHub Desktop.
openlayers patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 33fa68e80e0fd55241d0d515023a611dd3410129 Mon Sep 17 00:00:00 2001 | |
From: brunob <[email protected]> | |
Date: Mon, 14 Nov 2011 00:04:44 +0100 | |
Subject: [PATCH 2/3] done : add openBubble and closeBubble to openlayers api | |
--- | |
source/mxn.openlayers.core.js | 59 ++++++++++++++++++----------------------- | |
1 files changed, 26 insertions(+), 33 deletions(-) | |
diff --git a/source/mxn.openlayers.core.js b/source/mxn.openlayers.core.js | |
index 7ec41a8..334ad28 100644 | |
--- a/source/mxn.openlayers.core.js | |
+++ b/source/mxn.openlayers.core.js | |
@@ -475,38 +475,13 @@ mxn.register('openlayers', { | |
var marker = new OpenLayers.Marker(this.location.toProprietary("openlayers"), icon); | |
if(this.infoBubble) { | |
- var popup = new OpenLayers.Popup(null, | |
- this.location.toProprietary("openlayers"), | |
- new OpenLayers.Size(100,100), | |
- this.infoBubble, | |
- true | |
- ); | |
- popup.autoSize = true; | |
- var theMap = this.map; | |
- if(this.hover) { | |
- marker.events.register("mouseover", marker, function(event) { | |
- theMap.addPopup(popup); | |
- popup.show(); | |
- }); | |
- marker.events.register("mouseout", marker, function(event) { | |
- popup.hide(); | |
- theMap.removePopup(popup); | |
- }); | |
- } | |
- else { | |
- var shown = false; | |
- marker.events.register("mousedown", marker, function(event) { | |
- if (shown) { | |
- popup.hide(); | |
- theMap.removePopup(popup); | |
- shown = false; | |
- } else { | |
- theMap.addPopup(popup); | |
- popup.show(); | |
- shown = true; | |
- } | |
- }); | |
+ var event_action = "click"; | |
+ if (this.hover) { | |
+ event_action = "mouseover"; | |
} | |
+ marker.events.register(event_action, marker, function(event) { | |
+ marker.mapstraction_marker.openBubble(); | |
+ }); | |
} | |
if(this.hoverIconUrl) { | |
@@ -527,9 +502,27 @@ mxn.register('openlayers', { | |
}, | |
openBubble: function() { | |
- // TODO: Add provider code | |
+ var popup = new OpenLayers.Popup(null, | |
+ this.location.toProprietary(this.api), | |
+ new OpenLayers.Size(100,100), | |
+ this.infoBubble, | |
+ true | |
+ ); | |
+ popup.autoSize = true; | |
+ this.openInfoBubble.fire({'marker': this}); | |
+ this.map.addPopup(popup); | |
+ popup.show(); | |
+ this.proprietary_infowindow = popup; // Save so we can close it later | |
}, | |
- | |
+ | |
+ closeBubble: function() { | |
+ if (this.hasOwnProperty('proprietary_infowindow')) { | |
+ this.proprietary_infowindow.hide(); | |
+ this.map.removePopup(this.proprietary_infowindow); | |
+ this.closeInfoBubble.fire({'marker': this}); | |
+ } | |
+ }, | |
+ | |
hide: function() { | |
this.proprietary_marker.display( false ); | |
}, | |
-- | |
1.7.5.4 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment