added waiting message to route reversal,

moved reversal logic to OSRM.Markers
This commit is contained in:
DennisSchiefer
2012-04-19 09:48:32 +01:00
parent 5a9a55544b
commit 2e60e92b31
2 changed files with 38 additions and 33 deletions
+6 -33
View File
@@ -42,43 +42,16 @@ reverseRouting: function() {
var tmp = document.getElementById("gui-input-source").value;
document.getElementById("gui-input-source").value = document.getElementById("gui-input-target").value;
document.getElementById("gui-input-target").value = tmp;
// invert route, if a route is shown
// reverse markers
OSRM.G.markers.reverseMarkers();
// recompute route if needed
if( OSRM.G.route.isShown() ) {
// switch positions in nodes
var temp_position = OSRM.G.markers.route[0].getPosition();
OSRM.G.markers.route[0].setPosition( OSRM.G.markers.route[OSRM.G.markers.route.length-1].getPosition() );
OSRM.G.markers.route[OSRM.G.markers.route.length-1].setPosition( temp_position );
// switch nodes in array
var temp_node = OSRM.G.markers.route[0];
OSRM.G.markers.route[0] = OSRM.G.markers.route[OSRM.G.markers.route.length-1];
OSRM.G.markers.route[OSRM.G.markers.route.length-1] = temp_node;
// reverse route
OSRM.G.markers.route.reverse();
// query new route
OSRM.Routing.getRoute();
OSRM.G.markers.highlight.hide();
// invert marker, if only one marker is shown
} else if( OSRM.G.markers.route.length > 0 ) {
// requery geocoder, if geocoding results were shown
if( document.getElementById('information-box').innerHTML != "" ) {
OSRM.Geocoder.call( OSRM.C.SOURCE_LABEL, document.getElementById("gui-input-source").value );
OSRM.Geocoder.call( OSRM.C.TARGET_LABEL, document.getElementById("gui-input-target").value );
}
// switch single node
if( OSRM.G.markers.route[0].label == OSRM.C.TARGET_LABEL ) {
OSRM.G.markers.setSource( OSRM.G.markers.route[0].getPosition() );
OSRM.G.markers.removeMarker(1);
OSRM.G.markers.route[0].show();
} else if(OSRM.G.markers.route[0].label == OSRM.C.SOURCE_LABEL) {
OSRM.G.markers.setTarget( OSRM.G.markers.route[0].getPosition() );
OSRM.G.markers.removeMarker(0);
OSRM.G.markers.route[0].show();
}
OSRM.RoutingDescription.showSimple( OSRM.G.response );
}
// otherwise do nothing
},
// click: button "show"