diff options
| author | Luc Donnet | 2012-06-01 18:27:30 +0200 |
|---|---|---|
| committer | Luc Donnet | 2012-06-01 18:27:30 +0200 |
| commit | b362c0f021379cb6f1cf9bbe0b3b756209392150 (patch) | |
| tree | d9d563f7ced4c9ef3eb346aef8c4b1f747b311cd /app/maps/application_map.rb | |
| parent | 7082d66ec221aee194d64a17ab5d21eb2955f419 (diff) | |
| download | chouette-core-b362c0f021379cb6f1cf9bbe0b3b756209392150.tar.bz2 | |
Add popup with name for stop_area
Diffstat (limited to 'app/maps/application_map.rb')
| -rw-r--r-- | app/maps/application_map.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/maps/application_map.rb b/app/maps/application_map.rb index dffb2501c..d7ee0b5a1 100644 --- a/app/maps/application_map.rb +++ b/app/maps/application_map.rb @@ -64,6 +64,33 @@ class ApplicationMap OpenLayers::Layer::Google.new "Google Satellite", :type => :"google.maps.MapTypeId.SATELLITE", :numZoomLevels => 22 end + def hover_control_display_name(layer) + OpenLayers::Control::SelectFeature.new( layer, { + :autoActivate => true, + :hover => true, + :renderIntent => "temporary", + :eventListeners => { + :featurehighlighted => JsExpr.new("function(e) { + feature = e.feature ; + popup = new OpenLayers.Popup.AnchoredBubble('chicken', + new OpenLayers.LonLat(feature.geometry.x, feature.geometry.y), + null, + \"<div class='popup_hover'><b>\" + feature.attributes.name +\"</b></div> \", null, false, null); + popup.autoSize = true; + popup.displayClass = 'popup_hover'; + + feature.popup = popup; + map.addPopup(popup); + }"), + :featureunhighlighted => JsExpr.new("function(e) { + feature = e.feature; + map.removePopup(feature.popup); + feature.popup.destroy(); + feature.popup = null; + }") + } } ) + end + def kml_layer(url, options = {}) url = polymorphic_path([url.referential, url], :format => :kml) unless String === url protocol = OpenLayers::Protocol::HTTP.new :url => url, :format => kml |
