diff options
Diffstat (limited to 'app/maps')
| -rw-r--r-- | app/maps/application_map.rb | 4 | ||||
| -rw-r--r-- | app/maps/connection_link_map.rb | 4 | ||||
| -rw-r--r-- | app/maps/line_map.rb | 4 | ||||
| -rw-r--r-- | app/maps/network_map.rb | 4 | ||||
| -rw-r--r-- | app/maps/route_map.rb | 14 | ||||
| -rw-r--r-- | app/maps/stop_area_map.rb | 4 |
6 files changed, 29 insertions, 5 deletions
diff --git a/app/maps/application_map.rb b/app/maps/application_map.rb index a4d8a84ab..dffb2501c 100644 --- a/app/maps/application_map.rb +++ b/app/maps/application_map.rb @@ -34,7 +34,9 @@ class ApplicationMap end def to_html(options = {}) - "<div id=\"#{id}\" class=\"#{default_class}\"></div> #{map.to_html(options)}" + if not respond_to?(:ready?) or ready? + "<div id=\"#{id}\" class=\"#{default_class}\"></div> #{map.to_html(options)}".html_safe + end end def kml diff --git a/app/maps/connection_link_map.rb b/app/maps/connection_link_map.rb index e915c3ae2..a6fb8517c 100644 --- a/app/maps/connection_link_map.rb +++ b/app/maps/connection_link_map.rb @@ -23,6 +23,10 @@ class ConnectionLinkMap < ApplicationMap end end + def ready? + Chouette::StopArea.bounds.present? + end + def bounds wgs84_bounds = Chouette::StopArea.bounds @bounds ||= OpenLayers::Bounds.new(wgs84_bounds.lower_corner.x, wgs84_bounds.lower_corner.y, wgs84_bounds.upper_corner.x, wgs84_bounds.upper_corner.y).transform(OpenLayers::Projection.new("EPSG:4326"), OpenLayers::Projection.new("EPSG:900913")) diff --git a/app/maps/line_map.rb b/app/maps/line_map.rb index 128b98dd2..a7a9f892d 100644 --- a/app/maps/line_map.rb +++ b/app/maps/line_map.rb @@ -29,4 +29,8 @@ class LineMap < ApplicationMap end + def ready? + Chouette::StopArea.bounds.present? + end + end diff --git a/app/maps/network_map.rb b/app/maps/network_map.rb index cedabdf6e..35283a48f 100644 --- a/app/maps/network_map.rb +++ b/app/maps/network_map.rb @@ -28,4 +28,8 @@ class NetworkMap < ApplicationMap end + def ready? + Chouette::StopArea.bounds.present? + end + end diff --git a/app/maps/route_map.rb b/app/maps/route_map.rb index 417b6037a..7cc525dde 100644 --- a/app/maps/route_map.rb +++ b/app/maps/route_map.rb @@ -22,12 +22,18 @@ class RouteMap < ApplicationMap end end + def ready? + route_bounds.present? + end + + def route_bounds + @route_bound ||= (route.geometry.empty? ? Chouette::StopArea.bounds : route.geometry.envelope) + end + def bounds - wgs84_bounds = ( route.geometry.empty?) ? Chouette::StopArea.bounds : route.geometry.envelope - @bounds ||= OpenLayers::Bounds.new( - wgs84_bounds.lower_corner.x, wgs84_bounds.lower_corner.y, - wgs84_bounds.upper_corner.x, wgs84_bounds.upper_corner.y). + route_bounds.lower_corner.x, route_bounds.lower_corner.y, + route_bounds.upper_corner.x, route_bounds.upper_corner.y). transform(OpenLayers::Projection.new("EPSG:4326"), OpenLayers::Projection.new("EPSG:900913")) end diff --git a/app/maps/stop_area_map.rb b/app/maps/stop_area_map.rb index 37ba77121..b7c060dce 100644 --- a/app/maps/stop_area_map.rb +++ b/app/maps/stop_area_map.rb @@ -40,6 +40,10 @@ EOF end end + def ready? + center.present? + end + def center stop_area.geometry or stop_area.default_position end |
