diff options
Diffstat (limited to 'app/maps')
| -rw-r--r-- | app/maps/access_link_map.rb | 29 | ||||
| -rw-r--r-- | app/maps/access_point_map.rb | 56 | ||||
| -rw-r--r-- | app/maps/application_map.rb | 188 | ||||
| -rw-r--r-- | app/maps/connection_link_map.rb | 27 | ||||
| -rw-r--r-- | app/maps/design/access_link_style_map.rb | 43 | ||||
| -rw-r--r-- | app/maps/design/access_points_style_map.rb | 58 | ||||
| -rw-r--r-- | app/maps/design/connection_link_style_map.rb | 43 | ||||
| -rw-r--r-- | app/maps/design/edit_access_point_style_map.rb | 46 | ||||
| -rw-r--r-- | app/maps/design/edit_stop_area_style_map.rb | 46 | ||||
| -rw-r--r-- | app/maps/design/generic_style_map.rb | 5 | ||||
| -rw-r--r-- | app/maps/design/journey_pattern_style_map.rb | 50 | ||||
| -rw-r--r-- | app/maps/design/line_style_map.rb | 28 | ||||
| -rw-r--r-- | app/maps/design/route_style_map.rb | 47 | ||||
| -rw-r--r-- | app/maps/design/stop_areas_style_map.rb | 59 | ||||
| -rw-r--r-- | app/maps/group_of_line_map.rb | 26 | ||||
| -rw-r--r-- | app/maps/journey_pattern_map.rb | 29 | ||||
| -rw-r--r-- | app/maps/line_map.rb | 29 | ||||
| -rw-r--r-- | app/maps/network_map.rb | 26 | ||||
| -rw-r--r-- | app/maps/route_map.rb | 31 | ||||
| -rw-r--r-- | app/maps/stop_area_map.rb | 145 |
20 files changed, 0 insertions, 1011 deletions
diff --git a/app/maps/access_link_map.rb b/app/maps/access_link_map.rb deleted file mode 100644 index 544a1e792..000000000 --- a/app/maps/access_link_map.rb +++ /dev/null @@ -1,29 +0,0 @@ - -class AccessLinkMap < ApplicationMap - - attr_reader :access_link, :access_link_style - - def initialize(access_link, access_link_style = nil) - @access_link = access_link - @access_link_style = access_link_style - end - - def customize_map(map, page) - page.assign "access_points_layer", kml_layer([access_link.referential, access_link.access_point], :styleMap => Design::AccessPointsStyleMap.new(helpers).style_map) - page << map.add_layer(:access_points_layer) - page.assign "stop_areas_layer", kml_layer([access_link.referential, access_link.stop_area], :styleMap => Design::StopAreasStyleMap.new(helpers).style_map) - page << map.add_layer(:stop_areas_layer) - page << map.add_layer( kml_layer([access_link.referential, access_link.access_point, access_link], :styleMap => Design::AccessLinkStyleMap.new(helpers).style_map)) - page << map.add_control( hover_control_display_name([:access_points_layer,:stop_areas_layer]) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - end - - def ready? - Chouette::StopArea.bounds.present? - end - - def bounds - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds([access_link.stop_area.geometry,access_link.access_point.geometry].compact) - end - -end diff --git a/app/maps/access_point_map.rb b/app/maps/access_point_map.rb deleted file mode 100644 index 3f0013738..000000000 --- a/app/maps/access_point_map.rb +++ /dev/null @@ -1,56 +0,0 @@ -class AccessPointMap < ApplicationMap - - attr_reader :access_point - - attr_accessor :editable - alias_method :editable?, :editable - - def initialize(access_point) - @access_point = access_point - end - - def customize_map(map, page) - page.assign "edit_access_point_layer", kml_layer(access_point, { :default => editable? }, :style_map => Design::EditAccessPointStyleMap.new(helpers).style_map) - page << map.add_layer(:edit_access_point_layer) - page.assign "parent_layer", kml_layer(access_point.stop_area, :style_map => Design::StopAreasStyleMap.new(helpers).style_map) - page << map.add_layer(:parent_layer) - - - if editable? - page.assign "referential_projection", projection_type.present? ? projection("EPSG:" + projection_type) : JsVar.new("undefined") - # TODO virer ce code inline - page << <<EOF - edit_access_point_layer.events.on({ - 'featuremodified': function(event) { - geometry = event.feature.geometry.clone().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326")); - $('#access_point_coordinates').val(geometry.y.toString()+ ","+ geometry.x.toString()); - - if(referential_projection != undefined) - { - projection_geometry = event.feature.geometry.clone().transform(new OpenLayers.Projection("EPSG:900913"), referential_projection ); - $('#access_point_projection_xy').val(projection_geometry.x.toString()+ ","+ projection_geometry.y.toString()); } - } - }); -EOF - page << map.add_control(OpenLayers::Control::ModifyFeature.new(:edit_access_point_layer, :mode => 8, :autoActivate => true)) - - else - page << map.add_control( hover_control_display_name(:parent_layer) ) - end - - page << map.set_center(center.to_google.to_openlayers, 16, false, true) - end - - def projection_type - access_point.referential.projection_type - end - - def ready? - center.present? - end - - def center - access_point.geometry or access_point.default_position - end - -end diff --git a/app/maps/application_map.rb b/app/maps/application_map.rb deleted file mode 100644 index 19b9038ec..000000000 --- a/app/maps/application_map.rb +++ /dev/null @@ -1,188 +0,0 @@ -class ApplicationMap - - include MapLayers - include MapLayers::ViewHelpers - - attr_accessor :helpers - cattr_accessor :ign_api_key - - def helpers - @helpers ||= Helpers.new - end - - # For example, in a controller : - # - # @map = MyMap.new(...).with_helpers(self) - # - def with_helpers(helpers) - self.helpers = helpers - self - end - - def geoportail_key - if ( Rails.application.secrets.respond_to? :geoportail_api_key) - return Rails.application.secrets.geoportail_api_key - end - return nil - end - - class Helpers - include ActionDispatch::Routing::UrlFor - include Rails.application.routes.url_helpers - end - - def projection(name) - OpenLayers::Projection.new(name) - end - - def controls - [ OpenLayers::Control::LayerSwitcher.new(:ascending => true), - OpenLayers::Control::ScaleLine.new, - OpenLayers::Control::Navigation.new, - OpenLayers::Control::PanZoomBar.new, - OpenLayers::Control::Attribution.new] - end - - def id - "map" - end - - def map - @map ||= MapLayers::Map.new(id, :projection => projection("EPSG:900913"), :controls => controls) do |map, page| - if self.geoportail_key - page << map.add_layer(geoportail_ortho_wmts) - page << map.add_layer(geoportail_scans_wmts) - page << map.add_layer(geoportail_cadastre_wmts) - end - - page << map.add_layer(MapLayers::OSM_MAPNIK) - #page << map.add_layers([geoportail_scans, geoportail_ortho]) - page << map.add_layer(google_physical) - page << map.add_layer(google_streets) - page << map.add_layer(google_hybrid) - page << map.add_layer(google_satellite) - - customize_map(map,page) if respond_to?( :customize_map) - end - end - - def name - self.class.name.underscore.gsub(/_map$/, '') - end - alias_method :default_class, :name - - def to_html(options = {}) - if not respond_to?(:ready?) or ready? - expand = options[:no_fullscreen] ? '' : "<button type=\"button\" data-ce-id=\"#{id}\" data-ce-action=\"map-fullscreen\" class=\"ce-MapExpandBlock\"><i class=\"fa fa-expand\"></i></button>" - "<div id=\"#{id}\" class=\"#{default_class}\">#{expand}</div>#{map.to_html(options)}".html_safe - end - end - - def kml - OpenLayers::Format::KML.new :extractStyles => true, :extractAttributes => true, :maxDepth => 2 - end - def geoportail_cadastre_wmts - OpenLayers::Layer::WMTS.new( geoportail_options.update(:name => I18n.t("maps.ign_cadastre"), - :format => "image/png", - :layer => "CADASTRALPARCELS.PARCELS")) - end - - def geoportail_ortho_wmts - OpenLayers::Layer::WMTS.new( geoportail_options.update(:name => I18n.t("maps.ign_ortho"), - :layer => "ORTHOIMAGERY.ORTHOPHOTOS")) - end - - def geoportail_scans_wmts - OpenLayers::Layer::WMTS.new( geoportail_options.update(:name => I18n.t("maps.ign_map"), - :layer => "GEOGRAPHICALGRIDSYSTEMS.MAPS")) - end - - def geoportail_options - { :url => "http://gpp3-wxs.ign.fr/#{self.geoportail_key}/wmts", - :matrixSet => "PM", - :style => "normal", - :numZoomLevels => 19, - :group => "IGN", - :attribution => 'Map base: ©IGN <a href="http://www.geoportail.fr/" target="_blank"><img src="http://api.ign.fr/geoportail/api/js/2.0.0beta/theme/geoportal/img/logo_gp.gif"></a> <a href="http://www.geoportail.gouv.fr/depot/api/cgu/licAPI_CGUF.pdf" alt="TOS" title="TOS" target="_blank">Terms of Service</a>'} - end - - def strategy_fixed - OpenLayers::Strategy::Fixed.new :preload => true - end - - def google_physical - OpenLayers::Layer::Google.new(I18n.t("maps.google_physical"), - :type => :"google.maps.MapTypeId.TERRAIN") - end - - def google_streets - OpenLayers::Layer::Google.new I18n.t("maps.google_streets"), :numZoomLevels => 20 - end - - def google_hybrid - OpenLayers::Layer::Google.new I18n.t("maps.google_hybrid"), :type => :"google.maps.MapTypeId.HYBRID", :numZoomLevels => 20 - end - - def google_satellite - OpenLayers::Layer::Google.new I18n.t("maps.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) { - var feature = e.feature ; - if (feature.attributes.inactive != undefined) - return; - var stop_area_type_label = ''; - if (feature.attributes.stop_area_type_label != undefined) - stop_area_type_label = feature.attributes.stop_area_type_label; - var popup = new OpenLayers.Popup.Anchored('chicken', - new OpenLayers.LonLat(feature.geometry.x, feature.geometry.y), - null, - \"<div class='popup_hover'><p><b>\" + feature.attributes.name +\"</b></p>\" + stop_area_type_label + \"</div> \", null, false, null); - popup.autoSize = true; - popup.displayClass = 'popup_hover'; - - feature.popup = popup; - map.addPopup(popup); - }"), - :featureunhighlighted => JsExpr.new("function(e) { - var feature = e.feature; - if (feature.attributes.inactive != undefined) - return; - map.removePopup(feature.popup); - feature.popup.destroy(); - feature.popup = null; - }") - } } ) - end - - def kml_layer(url_or_object, options_or_url_options = {}, options = nil) - unless options - url_options = {} - options = options_or_url_options - else - url_options = options_or_url_options - end - - url_options = url_options.merge(:format => :kml) - - url = - case url_or_object - when String - url_or_object - when Array - helpers.polymorphic_path_patch( helpers.polymorphic_path(url_or_object, url_options)) - else - helpers.polymorphic_path_patch( helpers.polymorphic_path([url_or_object.referential, url_or_object], url_options)) - end - - protocol = OpenLayers::Protocol::HTTP.new :url => url, :format => kml - OpenLayers::Layer::Vector.new name, {:projection => projection("EPSG:4326"), :strategies => [strategy_fixed], :protocol => protocol, :displayInLayerSwitcher => false}.merge(options) - end - -end diff --git a/app/maps/connection_link_map.rb b/app/maps/connection_link_map.rb deleted file mode 100644 index 82050c4da..000000000 --- a/app/maps/connection_link_map.rb +++ /dev/null @@ -1,27 +0,0 @@ - -class ConnectionLinkMap < ApplicationMap - - attr_reader :connection_link, :connection_link_style - - def initialize(connection_link, connection_link_style = nil) - @connection_link = connection_link - @connection_link_style = connection_link_style - end - - def customize_map(map, page) - page.assign "stop_areas_layer", kml_layer([connection_link.referential, connection_link, :stop_areas], :styleMap => Design::StopAreasStyleMap.new(helpers).style_map) - page << map.add_layer(:stop_areas_layer) - page << map.add_layer( kml_layer([connection_link.referential, connection_link], :styleMap => Design::ConnectionLinkStyleMap.new(helpers).style_map)) - page << map.add_control( hover_control_display_name(:stop_areas_layer) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - end - - def ready? - Chouette::StopArea.bounds.present? - end - - def bounds - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds(connection_link.stop_areas.collect(&:geometry).compact) - end - -end diff --git a/app/maps/design/access_link_style_map.rb b/app/maps/design/access_link_style_map.rb deleted file mode 100644 index 742f7ed0e..000000000 --- a/app/maps/design/access_link_style_map.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Design::AccessLinkStyleMap < Design::GenericStyleMap - attr_accessor :style - - def initialize(helpers,options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def default_style - { - :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -10, - :strokeColor => "#000000", - :strokeOpacity => 1, - :strokeWidth => 3, - :strokeLineCap => "round", - :strokeDashstyle => "solid", - :externalGraphic => @helpers.assets_path_patch( "map/${positionType}.png"), - :graphicWidth => 36, - :graphicHeight => 36, - :graphicOpacity => 1, - :graphicXOffset => -18, - :graphicYOffset => -18, - :display => true - } - end - - def context - context = { - :positionType => :" function(feature) { if (feature.attributes.departure != undefined) { return 'departure'; } else { return 'arrival'; }} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context})) - end - -end - diff --git a/app/maps/design/access_points_style_map.rb b/app/maps/design/access_points_style_map.rb deleted file mode 100644 index f7740006d..000000000 --- a/app/maps/design/access_points_style_map.rb +++ /dev/null @@ -1,58 +0,0 @@ -class Design::AccessPointsStyleMap < Design::GenericStyleMap - attr_accessor :style, :context, :temporary - - def default_style - raise "Helpers nil" if @helpers.nil? - {:label => "${label}", - :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -20, - :pointRadius => 1, - :externalGraphic => @helpers.assets_path_patch( "map/access_${accessType}.png"), - :graphicWidth => 25, - :graphicHeight => 25, - :graphicOpacity => 1, - :graphicXOffset => -12.5, - :graphicYOffset => -12.5 } - end - def temporary_style - raise "Helpers nil" if @helpers.nil? - {:label => "${label}", - :fontColor => "darkblue", - :fontSize => "12px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -20, - :pointRadius => 1, - :externalGraphic => @helpers.assets_path_patch( "map/access_${accessType}.png"), - :graphicWidth => 25, - :graphicHeight => 25, - :graphicOpacity => 1, - :graphicXOffset => -12.5, - :graphicYOffset => -12.5 } - end - - def initialize(helpers,options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - @temporary = options[:style].present? ? temporary_style.merge(options[:style]) : temporary_style - end - - - def context - { - :label => :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} ", - :accessType => :" function(feature) { return feature.attributes.access_point_type.toLowerCase();} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context}), - :temporary => OpenLayers::Style.new(temporary, { :context => context}) ) - end - -end diff --git a/app/maps/design/connection_link_style_map.rb b/app/maps/design/connection_link_style_map.rb deleted file mode 100644 index 88eeb9457..000000000 --- a/app/maps/design/connection_link_style_map.rb +++ /dev/null @@ -1,43 +0,0 @@ -class Design::ConnectionLinkStyleMap < Design::GenericStyleMap - attr_accessor :style - - def initialize(helpers,options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def default_style - { - :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -15, - :strokeColor => "#000000", - :strokeOpacity => 1, - :strokeWidth => 3, - :strokeLineCap => "round", - :strokeDashstyle => "solid", - :externalGraphic => @helpers.assets_path_patch( "map/${positionType}.png"), - :graphicWidth => 36, - :graphicHeight => 36, - :graphicOpacity => 1, - :graphicXOffset => -18, - :graphicYOffset => -18, - :display => true - } - end - - def context - context = { - :positionType => :" function(feature) { if (feature.attributes.departure != undefined) { return 'departure'; } else { return 'arrival'; }} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context})) - end - -end - diff --git a/app/maps/design/edit_access_point_style_map.rb b/app/maps/design/edit_access_point_style_map.rb deleted file mode 100644 index 48c293470..000000000 --- a/app/maps/design/edit_access_point_style_map.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Design::EditAccessPointStyleMap < Design::GenericStyleMap - attr_accessor :style - - def default_style - { :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -15, - :pointRadius => 4, - :fillColor => "white", - :fillOpacity => 1, - :strokeColor => "black", - :strokeOpacity => 1, - :strokeWidth => 2 } - end - - def select_style - { :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :pointRadius => 4, - :fillColor => "#86b41d", - :fillOpacity => 1, - :strokeColor => "black", - :strokeOpacity => 1, - :strokeWidth => 2 } - end - - def initialize(helpers, options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def context - { - :label => :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context}), :select => OpenLayers::Style.new(style.merge( select_style), { :context => context})) - end - -end diff --git a/app/maps/design/edit_stop_area_style_map.rb b/app/maps/design/edit_stop_area_style_map.rb deleted file mode 100644 index 2431f8a0f..000000000 --- a/app/maps/design/edit_stop_area_style_map.rb +++ /dev/null @@ -1,46 +0,0 @@ -class Design::EditStopAreaStyleMap < Design::GenericStyleMap - attr_accessor :style - - def default_style - { :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -15, - :pointRadius => 4, - :fillColor => "white", - :fillOpacity => 1, - :strokeColor => "black", - :strokeOpacity => 1, - :strokeWidth => 2 } - end - - def select_style - { :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :pointRadius => 4, - :fillColor => "#86b41d", - :fillOpacity => 1, - :strokeColor => "black", - :strokeOpacity => 1, - :strokeWidth => 2 } - end - - def initialize(helpers, options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def context - { - :label => :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context}), :select => OpenLayers::Style.new(style.merge( select_style), { :context => context})) - end - -end diff --git a/app/maps/design/generic_style_map.rb b/app/maps/design/generic_style_map.rb deleted file mode 100644 index 0056cc964..000000000 --- a/app/maps/design/generic_style_map.rb +++ /dev/null @@ -1,5 +0,0 @@ -class Design::GenericStyleMap - include MapLayers - include MapLayers::ViewHelpers - -end diff --git a/app/maps/design/journey_pattern_style_map.rb b/app/maps/design/journey_pattern_style_map.rb deleted file mode 100644 index b5323d6ae..000000000 --- a/app/maps/design/journey_pattern_style_map.rb +++ /dev/null @@ -1,50 +0,0 @@ -class Design::JourneyPatternStyleMap < Design::GenericStyleMap - attr_accessor :style - - def initialize(helpers, options = {}) - @helpers = helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def select_style - default_style.merge externalGraphic: @helpers.assets_path_patch( "map/stop_area_hover.png") - end - - def default_style - { - label: "${label}", - fontColor: "black", - fontSize: "14px", - fontWeight: "bold", - labelAlign: "ct", - labelXOffset: 0, - labelYOffset: -15, - strokeColor: "#000000", - strokeOpacity: 1, - strokeWidth: 3, - strokeLineCap: "round", - strokeDashstyle: "solid", - externalGraphic: @helpers.assets_path_patch( "map/${positionType}.png"), - graphicWidth: 12, - graphicHeight: 12, - graphicOpacity: 1, - graphicXOffset: -6, - graphicYOffset: -6, - display: true - } - end - - def context - { - label: :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} ", - positionType: :" function(feature) { if (feature.attributes.iconCode != undefined) {return feature.attributes.iconCode;} else { return '';} } " - } - end - - def style_map - OpenLayers::StyleMap.new( - default: OpenLayers::Style.new(style, { context: context}), - select: OpenLayers::Style.new(style.merge( select_style), { context: context})) - end - -end diff --git a/app/maps/design/line_style_map.rb b/app/maps/design/line_style_map.rb deleted file mode 100644 index e1d76078c..000000000 --- a/app/maps/design/line_style_map.rb +++ /dev/null @@ -1,28 +0,0 @@ -class Design::LineStyleMap < Design::GenericStyleMap - attr_accessor :style, :line_priority, :line_color - - def initialize(helpers,options = {}) - @helpers= helpers - @line_color = options[:line_color] - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def stroke_width - stroke_width = 3 - end - - def default_style - style = { - :strokeColor => line_color || "#000000", - :strokeOpacity => 1, - :strokeWidth => stroke_width, - :strokeLineCap => "round", - :strokeDashstyle => "solid", - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style)) - end - -end diff --git a/app/maps/design/route_style_map.rb b/app/maps/design/route_style_map.rb deleted file mode 100644 index 35585e81e..000000000 --- a/app/maps/design/route_style_map.rb +++ /dev/null @@ -1,47 +0,0 @@ -class Design::RouteStyleMap < Design::GenericStyleMap - attr_accessor :style - - def initialize(helpers,options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - end - - def select_style - default_style.merge :externalGraphic => @helpers.assets_path_patch( "map/stop_area_hover.png") - end - def default_style - { - :label => "${label}", - :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -15, - :strokeColor => "#000000", - :strokeOpacity => 1, - :strokeWidth => 3, - :strokeLineCap => "round", - :strokeDashstyle => "solid", - :externalGraphic => @helpers.assets_path_patch( "map/${positionType}.png"), - :graphicWidth => 12, - :graphicHeight => 12, - :graphicOpacity => 1, - :graphicXOffset => -6, - :graphicYOffset => -6, - :display => true - } - end - - def context - context = { - :label => :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} ", - :positionType => :" function(feature) { if (feature.attributes.departure != undefined) { return 'stop_area_green'; } else if (feature.attributes.arrival != undefined) { return 'stop_area_red'; } else { return 'stop_area_black'; }} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context}), :select => OpenLayers::Style.new(style.merge( select_style), { :context => context})) - end - -end diff --git a/app/maps/design/stop_areas_style_map.rb b/app/maps/design/stop_areas_style_map.rb deleted file mode 100644 index f45c423e2..000000000 --- a/app/maps/design/stop_areas_style_map.rb +++ /dev/null @@ -1,59 +0,0 @@ -class Design::StopAreasStyleMap < Design::GenericStyleMap - attr_accessor :style, :context, :temporary - - def default_style - raise "Helpers nil" if @helpers.nil? - {:label => "${label}", - :fontColor => "black", - :fontSize => "11px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -20, - :pointRadius => 1, - :externalGraphic => @helpers.assets_path_patch( "map/${areaType}.png"), - :graphicWidth => 25, - :graphicHeight => 25, - :graphicOpacity => 1, - :graphicXOffset => -12.5, - :graphicYOffset => -12.5 } - end - def temporary_style - raise "Helpers nil" if @helpers.nil? - {:label => "${label}", - :fontColor => "darkblue", - :fontSize => "12px", - :fontWeight => "bold", - :labelAlign => "ct", - :labelXOffset => 0, - :labelYOffset => -20, - :pointRadius => 1, - :externalGraphic => @helpers.assets_path_patch( "map/${areaType}.png"), - :graphicWidth => 25, - :graphicHeight => 25, - :graphicOpacity => 1, - :graphicXOffset => -12.5, - :graphicYOffset => -12.5 } - end - - - def initialize(helpers,options = {}) - @helpers= helpers - @style = options[:style].present? ? default_style.merge(options[:style]) : default_style - @temporary = options[:style].present? ? temporary_style.merge(options[:style]) : temporary_style - end - - - def context - { - :label => :" function(feature) {if(feature.layer.map.getZoom() > 13) { return feature.attributes.name;} else {return '';}} ", - :areaType => :" function(feature) { return feature.attributes.stop_area_type.toLowerCase();} " - } - end - - def style_map - OpenLayers::StyleMap.new(:default => OpenLayers::Style.new(style, { :context => context}), - :temporary => OpenLayers::Style.new(temporary, { :context => context}) ) - end - -end diff --git a/app/maps/group_of_line_map.rb b/app/maps/group_of_line_map.rb deleted file mode 100644 index b9c174cb9..000000000 --- a/app/maps/group_of_line_map.rb +++ /dev/null @@ -1,26 +0,0 @@ -class GroupOfLineMap < ApplicationMap - - attr_reader :group_of_line, :group_of_line_style - - def initialize(group_of_line, group_of_line_style = nil) - @group_of_line = group_of_line - @group_of_line_style = group_of_line_style - end - - def customize_map(map, page) - page.assign "stop_areas_layer", kml_layer([group_of_line.referential, group_of_line], :styleMap => Design::StopAreasStyleMap.new(helpers).style_map) - - page << map.add_layer(:stop_areas_layer) - page << map.add_control( hover_control_display_name(:stop_areas_layer) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - end - - def bounds - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds(group_of_line.stop_areas.collect(&:geometry).compact) - end - - def ready? - Chouette::StopArea.bounds.present? - end - -end diff --git a/app/maps/journey_pattern_map.rb b/app/maps/journey_pattern_map.rb deleted file mode 100644 index 9a0da5743..000000000 --- a/app/maps/journey_pattern_map.rb +++ /dev/null @@ -1,29 +0,0 @@ -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], { setLayerIndex: 999, styleMap: Design::JourneyPatternStyleMap.new(helpers).style_map, rendererOptions: { zIndexing: true } }) - page.assign 'journeyPatternLayer', layer - page.assign 'selectFeature', OpenLayers::Control::SelectFeature.new(:journeyPatternLayer) - - 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 - diff --git a/app/maps/line_map.rb b/app/maps/line_map.rb deleted file mode 100644 index 1acde11ff..000000000 --- a/app/maps/line_map.rb +++ /dev/null @@ -1,29 +0,0 @@ - -class LineMap < ApplicationMap - - attr_reader :line, :line_style - - def initialize(line, line_style = nil) - @line = line - @line_style = line_style - end - - def customize_map(map, page) - page << map.add_layer(kml_layer(line, :styleMap => Design::LineStyleMap.new( :style => line_style).style_map)) - page.assign "stop_areas_layer", kml_layer([line.line_referential, line], :styleMap => Design::StopAreasStyleMap.new(helpers).style_map) - - - page << map.add_layer(:stop_areas_layer) - page << map.add_control( hover_control_display_name(:stop_areas_layer) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - end - - def bounds - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds(line.stop_areas.collect(&:geometry).compact) - end - - def ready? - bounds.present? - end - -end diff --git a/app/maps/network_map.rb b/app/maps/network_map.rb deleted file mode 100644 index 109e390d0..000000000 --- a/app/maps/network_map.rb +++ /dev/null @@ -1,26 +0,0 @@ -class NetworkMap < ApplicationMap - - attr_reader :network, :network_style - - def initialize(network, network_style = nil) - @network = network - @network_style = network_style - end - - def customize_map(map, page) - page.assign "stop_areas_layer", kml_layer([network.referential, network], :styleMap => Design::StopAreasStyleMap.new(helpers).style_map) - - page << map.add_layer(:stop_areas_layer) - page << map.add_control( hover_control_display_name(:stop_areas_layer) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - end - - def bounds - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds(network.stop_areas.collect(&:geometry).compact) - end - - def ready? - Chouette::StopArea.bounds.present? - end - -end diff --git a/app/maps/route_map.rb b/app/maps/route_map.rb deleted file mode 100644 index bdd6c4a56..000000000 --- a/app/maps/route_map.rb +++ /dev/null @@ -1,31 +0,0 @@ -class RouteMap < ApplicationMap - - attr_reader :route, :style - - def initialize(route, style = nil) - @route = route - @style = style - end - - def customize_map(map, page) - layer = kml_layer([route.referential, route.line, route], :styleMap => Design::RouteStyleMap.new(helpers, {context: context = {label: ""}}).style_map) - page.assign "routeLayer", layer - selectFeature = OpenLayers::Control::SelectFeature.new( :routeLayer) - - page << map.add_layer( :routeLayer) - page << map.add_control( hover_control_display_name(:routeLayer) ) - - page.assign "selectFeature", selectFeature - 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(route.stop_areas.collect(&:geometry).compact) - end - -end - diff --git a/app/maps/stop_area_map.rb b/app/maps/stop_area_map.rb deleted file mode 100644 index 07321834b..000000000 --- a/app/maps/stop_area_map.rb +++ /dev/null @@ -1,145 +0,0 @@ -class StopAreaMap < ApplicationMap - - attr_reader :stop_area - - attr_accessor :editable - alias_method :editable?, :editable - - def initialize(stop_area) - @stop_area = stop_area - end - - def customize_map(map, page) - if stop_area.children.present? - page.assign "children_layer", kml_layer(stop_area, { :children => true }, :style_map => Design::StopAreasStyleMap.new(helpers).style_map) - page << map.add_layer(:children_layer) - page << map.add_control( hover_control_display_name(:children_layer) ) - end - if stop_area.routing_stops.present? - page.assign "routing_layer", kml_layer(stop_area, { :routing => true }, :style_map => Design::StopAreasStyleMap.new(helpers).style_map) - page << map.add_layer(:routing_layer) - page << map.add_control( hover_control_display_name(:routing_layer) ) - page << map.zoom_to_extent(bounds.to_google.to_openlayers) if bounds - else - - - if stop_area.new_record? - page << <<EOF - var createStyleMap = function() { - var defProp = {strokeColor: "black", strokeOpacity: 1, strokeWidth: 2, fillColor: "white", fillOpacity: 1}; - var defStyle = OpenLayers.Util.applyDefaults(defProp, OpenLayers.Feature.Vector.style["default"]); - return new OpenLayers.StyleMap({'default': defStyle}); - }; - var edit_stop_area_layer = new OpenLayers.Layer.Vector( "edit_stop_area_layer", {styleMap: createStyleMap()}); - -EOF - else - page.assign "edit_stop_area_layer", kml_layer(stop_area, { :default => editable? }, :style_map => Design::EditStopAreaStyleMap.new(helpers).style_map) - end - - page << <<EOF - var createAddressStyleMap = function() { - var defProp = {fill: false, stroke: false, label: "\uf041", labelAlign: "cb", labelXOffset: 0, labelYOffset: 0, fontSize:"20px", fontOpacity: 1, fontFamily: "FontAwesome", labelOutlineWidth: 2}; - var defStyle = OpenLayers.Util.applyDefaults(defProp, OpenLayers.Feature.Vector.style["default"]); - return new OpenLayers.StyleMap({'default': defStyle, }); - }; - var address_layer = new OpenLayers.Layer.Vector( "address_layer", {styleMap: createAddressStyleMap()}); - - var removeAddress = function() { - address_layer.destroyFeatures(); - }; - - var addAddress = function( lat, lng, name ) { - var wgs84point = new OpenLayers.Geometry.Point( lat, lng); - var point = transformedGeometry( wgs84point, "EPSG:4326", "EPSG:900913" ) - var feature = new OpenLayers.Feature.Vector( point, { name: name}); - address_layer.addFeatures( [feature]); - - var bounds = new OpenLayers.Bounds(); - bounds.extend( feature.geometry.getBounds()); - for (var x in edit_stop_area_layer.features) { - bounds.extend( edit_stop_area_layer.features[x].geometry.getBounds()); - } - map.zoomToExtent(bounds.scale(2), true); - }; - var transformedGeometry = function( geometry, origin, target ) { - return geometry.clone().transform( new OpenLayers.Projection( origin ), new OpenLayers.Projection( target )); - } -EOF - page << map.add_layer(:address_layer) - page << map.add_layer(:edit_stop_area_layer) - - if editable? - page.assign "referential_projection", projection_type.present? ? projection("EPSG:" + projection_type) : JsVar.new("undefined") - - # TODO virer ce code inline - page << <<EOF - - var getEventWGS84 = function( event) { - return transformedGeometry( event.geometry, "EPSG:900913", "EPSG:4326"); - } - var getEventProjection = function( event, projCode) { - return transformedGeometry( event.geometry, "EPSG:900913", projCode); - } - var updateStopAreaCoordinates = function( event ) { - var geometry = getEventWGS84( event ); - $('#stop_area_coordinates').val( geometry.y.toString()+ ","+ geometry.x.toString()); - } - var updateStopAreaProjectionXY = function( event, projCode ) { - var geometry = getEventProjection( event, projCode); - $('#stop_area_projection_xy').val( geometry.x.toString()+ ","+ geometry.y.toString()); - } - - var drawControl = new OpenLayers.Control.DrawFeature( edit_stop_area_layer, OpenLayers.Handler.Point, - { featureAdded: function(event) { - console.log( "featureAdded" ); - updateStopAreaCoordinates( event); - if( typeof referential_projection !== 'undefined') { - updateStopAreaProjectionXY( event, referential_projection.projCode); - } - this.deactivate(); - } - }); - - var dragControl = new OpenLayers.Control.DragFeature( edit_stop_area_layer, - { autoActivate: true, - onComplete: function(event) { - updateStopAreaCoordinates( event); - if( typeof referential_projection !== 'undefined') { - updateStopAreaProjectionXY( event, referential_projection.projCode); - } - }, - }); - map.addControl( dragControl); - map.addControl( drawControl); -EOF - - if stop_area.new_record? - page << <<EOF - drawControl.activate(); -EOF - end - end - - page << map.set_center(center.to_google.to_openlayers, 16, false, true) - end - end - - def projection_type - stop_area.projection - end - - def ready? - center.present? - end - - def center - stop_area.geometry or stop_area.default_position - end - - def bounds - # for ITL only - @bounds ||= GeoRuby::SimpleFeatures::Point.bounds(stop_area.routing_stops.collect(&:geometry).compact) - end - -end |
