aboutsummaryrefslogtreecommitdiffstats
path: root/app/maps/connection_link_map.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/maps/connection_link_map.rb')
-rw-r--r--app/maps/connection_link_map.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/maps/connection_link_map.rb b/app/maps/connection_link_map.rb
new file mode 100644
index 000000000..fe79ce9a4
--- /dev/null
+++ b/app/maps/connection_link_map.rb
@@ -0,0 +1,32 @@
+
+class ConnectionLinkMap < ApplicationMap
+
+ attr_reader :referential, :connection_link, :connection_link_style
+
+ def initialize(referential, connection_link, connection_link_style = nil)
+ @referential = referential
+ @connection_link = connection_link
+ @connection_link_style = connection_link_style
+ end
+
+ def map
+ @map ||= MapLayers::Map.new(id, :projection => projection("EPSG:900913"), :controls => controls) do |map, page|
+ page << map.add_layer(MapLayers::OSM_MAPNIK)
+ page << map.add_layer(google_physical)
+ page << map.add_layer(google_streets)
+ page << map.add_layer(google_hybrid)
+ page << map.add_layer(google_satellite)
+
+ #page << map.add_layer(kml_layer(connection_link, :styleMap => StyleMap::ConnectionLinkStyleMap.new( :style => connection_link_style).style_map))
+ page << map.add_layer(kml_layer(polymorphic_path([referential, connection_link, :stop_areas], :format => :kml), :styleMap => StyleMap::StopAreasStyleMap.new(true).style_map))
+ page << map.zoom_to_extent(bounds) if bounds
+ end
+ 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"))
+
+ end
+
+end