summaryrefslogtreecommitdiff
path: root/chimere/static
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/static')
-rw-r--r--chimere/static/chimere/css/styles.css21
-rw-r--r--chimere/static/chimere/img/flag-step.pngbin0 -> 1256 bytes
-rw-r--r--chimere/static/chimere/img/images_licences7
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js62
4 files changed, 74 insertions, 16 deletions
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css
index 5fd9cd7..9133001 100644
--- a/chimere/static/chimere/css/styles.css
+++ b/chimere/static/chimere/css/styles.css
@@ -417,11 +417,24 @@ ul#share li{
padding-top:0;
}
+#chimere_itinerary table
+{
+ border-collapse:collapse;
+}
+
+#chimere_itinerary td{
+ border:8px solid #fff;
+}
+
#chimere_itinerary td.l{
padding:5px;
width:60px;
}
+#chimere_itinerary td.r{
+ font-size:0.8em;
+}
+
#chimere_itinerary span.j{
font-style:italic;
}
@@ -444,6 +457,14 @@ ul#share li{
border-radius: 0 8px 8px 8px;
}
+#map_menu_clear{
+ display:none;
+}
+
+#map_menu_zoomin{
+ border-top:1px solid #999;
+}
+
#chimere_map_menu ul, #chimere_map_menu li{
padding:0.2em;
margin:0;
diff --git a/chimere/static/chimere/img/flag-step.png b/chimere/static/chimere/img/flag-step.png
new file mode 100644
index 0000000..5556c94
--- /dev/null
+++ b/chimere/static/chimere/img/flag-step.png
Binary files differ
diff --git a/chimere/static/chimere/img/images_licences b/chimere/static/chimere/img/images_licences
index 000fdf0..03d63dc 100644
--- a/chimere/static/chimere/img/images_licences
+++ b/chimere/static/chimere/img/images_licences
@@ -31,9 +31,10 @@ Author: Sbrools
Licence: Public domain
Url: https://commons.wikimedia.org/wiki/File:8thNote.svg
-* Flags image credit (flag-start.png, flag-finish.png)
+* Flags image credit (flag-start.png, flag-step.png, flag-finish.png)
Author: FatCow Web Hosting
Licence: Creative Commons Attribution 3.0 United States license
-Url: https://upload.wikimedia.org/wikipedia/commons/6/64/Farm-Fresh_flag_finish.png
- https://upload.wikimedia.org/wikipedia/commons/c/cb/Farm-Fresh_flag_1.png
+Url: https://upload.wikimedia.org/wikipedia/commons/c/cb/Farm-Fresh_flag_1.png
+ https://upload.wikimedia.org/wikipedia/commons/8/81/Farm-Fresh_flag_blue.png
+ https://upload.wikimedia.org/wikipedia/commons/6/64/Farm-Fresh_flag_finish.png
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index 4639a09..7676517 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -231,17 +231,24 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
$('#map_menu_center').bind("click", methods.mapCenter);
if (settings.routing){
settings.routing_start = null;
+ settings.routing_steps = new Array();
settings.routing_end = null;
settings.icon_start = new OpenLayers.Icon(
STATIC_URL + "chimere/img/flag-start.png",
new OpenLayers.Size(32, 32),
new OpenLayers.Pixel(0, -32));
+ settings.icon_step = new OpenLayers.Icon(
+ STATIC_URL + "chimere/img/flag-step.png",
+ new OpenLayers.Size(32, 32),
+ new OpenLayers.Pixel(0, -32));
settings.icon_end = new OpenLayers.Icon(
STATIC_URL + "chimere/img/flag-finish.png",
new OpenLayers.Size(32, 32),
new OpenLayers.Pixel(0, -32));
$('#map_menu_from').bind("click", methods.routingFrom);
+ $('#map_menu_step').bind("click", methods.routingAddStep);
$('#map_menu_to').bind("click", methods.routingTo);
+ $('#map_menu_clear').bind("click", methods.routingClear);
settings.layerRoute = new OpenLayers.Layer.Vector("Route Layer");
settings.map.addLayer(settings.layerRoute);
settings.layerRoute.setOpacity(0.8);
@@ -516,7 +523,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
// set the start point for routing
routingFrom: function(){
$('#chimere_map_menu').hide();
- //$('#chimere_itinerary_panel').hide();
+ $('#map_menu_clear').show();
$('#chimere_itinerary_panel').dialog('close');
settings.routing_start = new OpenLayers.Marker(
settings.current_position.clone(),
@@ -525,10 +532,23 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (settings.routing_end) methods.route();
},
+ // add a step point for routing
+ routingAddStep: function(){
+ $('#chimere_map_menu').hide();
+ $('#map_menu_clear').show();
+ $('#chimere_itinerary_panel').dialog('close');
+ settings.routing_steps.push(new OpenLayers.Marker(
+ settings.current_position.clone(),
+ settings.icon_step.clone()));
+ settings.layerRouteMarker.addMarker(
+ settings.routing_steps[settings.routing_steps.length-1]);
+ if (settings.routing_end && settings.routing_start) methods.route();
+ },
+
// set the finish point for routing
routingTo: function(){
$('#chimere_map_menu').hide();
- //$('#chimere_itinerary_panel').hide();
+ $('#map_menu_clear').show();
$('#chimere_itinerary_panel').dialog('close');
settings.routing_end = new OpenLayers.Marker(
settings.current_position.clone(),
@@ -537,22 +557,39 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
if (settings.routing_start) methods.route();
},
+ // clear the current itinerary
+ routingClear: function(){
+ $('#chimere_map_menu').hide();
+ $('#map_menu_clear').hide();
+ $('#chimere_itinerary_panel').dialog('close');
+ settings.layerRoute.removeAllFeatures();
+ settings.layerRouteMarker.clearMarkers();
+ settings.routing_start = null;
+ settings.routing_end = null;
+ settings.routing_steps = new Array();
+ },
+
// display a route
route: function(){
if (!settings.routing_start || !settings.routing_end){
return;
}
- var start = settings.routing_start.lonlat.clone().transform(
- settings.map.getProjectionObject(),
- EPSG_DISPLAY_PROJECTION);
- var end = settings.routing_end.lonlat.clone().transform(
+ var steps = [settings.routing_start.lonlat.clone()]
+ for (var i = 0; i < settings.routing_steps.length; i++) {
+ steps.push(settings.routing_steps[i].lonlat.clone());
+ }
+ steps.push(settings.routing_end.lonlat.clone());
+ // create the appropriate URL
+ var uri = extra_url + "route/"
+ for (var i = 0; i < steps.length; i++) {
+ var step = steps[i].transform(
settings.map.getProjectionObject(),
EPSG_DISPLAY_PROJECTION);
- var uri = extra_url + "route/"
- + start.lon + '_'
- + start.lat + '_'
- + end.lon + '_'
- + end.lat;
+ if (i > 0){
+ uri += '_';
+ }
+ uri += step.lon + '_' + step.lat;
+ }
$.ajax({url: uri,
dataType: "json",
success: function (data) {
@@ -562,8 +599,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, {
}
$('#chimere_itinerary').html(
data.properties.description);
- //$('#chimere_itinerary_panel').show();
- $('#chimere_itinerary_panel').dialog('open');
+ $('#chimere_itinerary_panel').dialog('open');
},
error: function (data) {
settings.layerRoute.removeAllFeatures();