diff options
| -rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 31 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/map.html | 2 | ||||
| -rw-r--r-- | chimere/templatetags/chimere_tags.py | 15 | 
3 files changed, 34 insertions, 14 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index a9b237f..f9d956e 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -73,6 +73,8 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {              routing_end_lat: null,              routing_end_lon: null,              routing_steps_lonlat: null, +            routing_transport: null, +            routing_speed: null,              // Provide this function to make a custom click event on the marker              on_marker_click: null,              // Provide this function to override the feature detail display @@ -211,8 +213,12 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {                      // Make specific params                      params.checked_categories = settings.checked_categories;                      params.display_submited = settings.display_submited; -                    if(settings.current_feature) +                    if (settings.current_feature)                          params.current_feature = settings.current_feature.pk; +                    if (settings.routing_speed) +                        params.routing_speed = settings.routing_speed; +                    if (settings.routing_transport) +                        params.routing_transport = settings.routing_transport;                      if (settings.routing_start){                          lonlat = settings.routing_start.lonlat.clone().transform(                                EPSG_PROJECTION, EPSG_DISPLAY_PROJECTION); @@ -1106,7 +1112,14 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {              }              if (settings.routing_end && settings.routing_start) methods.route();          }, - +        // change routing speed +        routingChangeSpeed: function(speed){ +            settings.routing_speed = speed; +        }, +        // change routing transport +        routingChangeTransport: function(transport){ +            settings.routing_transport = transport; +        },          // add a step on the interface          add_step_fx: function (){              settings.itinerary_step_number += 1; @@ -1196,16 +1209,12 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {              steps.push(settings.routing_end.lonlat.clone());              // create the appropriate URL              var uri = extra_url + "route/" -            var transport = $('input[name=transport]:checked').val(); -            if(transport){ -                uri += transport + "/" -            } -            var speed = $('#id_speed option:selected').val(); -            if(!speed){ -                var speed = $('input[name=speed]:checked').val(); +            if(settings.routing_transport){ +                uri += settings.routing_transport + "/"              } -            if(speed){ -                uri += speed.split('_')[1] + "/" +            if(settings.routing_speed){ +                //uri += speed.split('_')[1] + "/" +                uri += routing_settings.speed + "/"              }              for (var i = 0; i < steps.length; i++) {                  var step = steps[i].transform( diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html index 07f0618..764d07b 100644 --- a/chimere/templates/chimere/blocks/map.html +++ b/chimere/templates/chimere/blocks/map.html @@ -44,6 +44,8 @@ $(function(){      {% if p_routing_end_lon %}chimere_init_options["routing_end_lon"] = {{ p_routing_end_lon }};{% endif %}      {% if p_routing_end_lat %}chimere_init_options["routing_end_lat"] = {{ p_routing_end_lat }};{% endif %}      {% if p_routing_steps %}chimere_init_options["routing_steps_lonlat"] = [{{ p_routing_steps }}];{% endif %} +    {% if p_routing_transport %}chimere_init_options["routing_transport"] = "{{ p_routing_transport }}";{% endif %} +    {% if p_routing_speed %}chimere_init_options["routing_speed"] = "{{ p_routing_speed }}";{% endif %}      chimere_init_options["icon_offset"] = new OpenLayers.Pixel({{icon_offset_x}},                                                              {{icon_offset_y}});      chimere_init_options["dynamic_categories"] = {{ dynamic_categories }}; diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 1dd091b..15b8afa 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -261,6 +261,13 @@ bounds.extend(new OpenLayers.LonLat(%f, %f));              context_data['checked_categories'] = cat      context_data['dynamic_categories'] = 'true' \                              if area and area.dynamic_categories else 'false' +    if settings.CHIMERE_ROUTING_TRANSPORT: +        context_data['p_routing_transport'] = settings.CHIMERE_ROUTING_TRANSPORT[0][0] +        if settings.CHIMERE_ROUTING_SPEEDS and \ +           context_data['p_routing_transport'] in settings.CHIMERE_ROUTING_SPEEDS: +            context_data['p_routing_speed'] = \ +                settings.CHIMERE_ROUTING_SPEEDS[ +                                    context_data['p_routing_transport']][0][0]      if 'request' not in context:          return context_data      request = context['request'] @@ -269,10 +276,12 @@ bounds.extend(new OpenLayers.LonLat(%f, %f));      if request.GET:          for key in ('zoom', 'lon', 'lat', 'display_submited',                      'current_feature', 'routing_start_lon', 'routing_start_lat', -                    'routing_end_lon', 'routing_end_lat', 'routing_steps'): +                    'routing_end_lon', 'routing_end_lat', 'routing_steps', +                    'routing_transport', 'routing_speed'): +            p_key = 'p_' + key              if key in request.GET and request.GET[key]: -                context_data['p_'+key] = request.GET[key] -            else: +                context_data[p_key] = request.GET[key] +            elif p_key not in context_data:                  context_data['p_'+key] = None          if 'checked_categories' in request.GET \             and request.GET['checked_categories']:  | 
