blob: e5eaa7f6b70d716f679821107d5503b701480931 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class JourneyPatternMap < ApplicationMap
attr_reader :journey_pattern, :style
def initialize(journey_pattern, style = nil)
@journey_pattern = journey_pattern
@style = style
end
def customize_map(map, page)
layer = kml_layer([journey_pattern.referential, journey_pattern.route.line, journey_pattern.route, journey_pattern], :styleMap => Design::JourneyPatternStyleMap.new(helpers).style_map)
page.assign "journeyPatternLayer", layer
selectFeature = OpenLayers::Control::SelectFeature.new( :journeyPatternLayer)
page.assign "selectFeature", selectFeature
page << map.add_layer( :journeyPatternLayer)
page << map.add_control( hover_control_display_name(:journeyPatternLayer) )
page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds
end
def ready?
bounds.present?
end
def bounds
@bounds ||= GeoRuby::SimpleFeatures::Point.bounds(journey_pattern.route.stop_areas.collect(&:geometry).compact)
end
end
|