aboutsummaryrefslogtreecommitdiffstats
path: root/app/maps
diff options
context:
space:
mode:
Diffstat (limited to 'app/maps')
-rw-r--r--app/maps/application_map.rb4
-rw-r--r--app/maps/connection_link_map.rb4
-rw-r--r--app/maps/line_map.rb4
-rw-r--r--app/maps/network_map.rb4
-rw-r--r--app/maps/route_map.rb14
-rw-r--r--app/maps/stop_area_map.rb4
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