added a new feature to the GUI: you now get a link of the calculated route
This commit is contained in:
parent
bd7aa1cc7b
commit
676333ab5a
@ -101,7 +101,7 @@ function showResultsGeocode(response) {
|
||||
}
|
||||
html += '</table>';
|
||||
|
||||
markerzoom(markername, lonlat);
|
||||
setMarkerAndZoom(markername, lonlat);
|
||||
}
|
||||
|
||||
|
||||
@ -114,10 +114,22 @@ function showResultsGeocode(response) {
|
||||
}
|
||||
|
||||
/*
|
||||
* markerzoom()-Function to set a marker on the map
|
||||
* setMarkerAndZoom()-Function to set a marker on the map and zoom
|
||||
*/
|
||||
function markerzoom(markername,lonlat){
|
||||
lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
|
||||
function setMarkerAndZoom(markername,lonlat){
|
||||
setMarker(markername,lonlat);
|
||||
|
||||
//Hack - FIXME !
|
||||
lonlat.lon -= 500;
|
||||
//Set Center
|
||||
map.setCenter(lonlat, 15);
|
||||
}
|
||||
|
||||
/*
|
||||
* setMarker()-Function to set a marker on the map
|
||||
*/
|
||||
function setMarker(markername,lonlat){
|
||||
lonlat.transform(EPSG_4326, EPSG_900913);
|
||||
for(var i= 0; i<dragLayer.features.length; i++){
|
||||
if(dragLayer.features[i].name == markername){ dragLayer.removeFeatures([dragLayer.features[i]]); }
|
||||
}
|
||||
@ -133,11 +145,6 @@ function markerzoom(markername,lonlat){
|
||||
|
||||
point.name = markername;
|
||||
dragLayer.addFeatures([point]);
|
||||
|
||||
//Hack - FIXME !
|
||||
lonlat.lon -= 500;
|
||||
//Set Center
|
||||
map.setCenter(lonlat, 15);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -160,6 +160,9 @@ function init(){
|
||||
if (!map.getCenter()){
|
||||
map.setCenter(new OpenLayers.LonLat(600000, 6600000),6);
|
||||
}
|
||||
|
||||
//Check if the URL contains some GET parameter, e.g. for the route
|
||||
checkURL();
|
||||
}
|
||||
|
||||
//Helper Functions
|
||||
@ -177,4 +180,42 @@ function checkReturn(textfieldname,e){
|
||||
function closeOpenDiv(name){
|
||||
if(document.getElementById(name).style.display == 'none'){ document.getElementById(name).style.display = ''; }
|
||||
else{ document.getElementById(name).style.display = 'none'; }
|
||||
}
|
||||
|
||||
//URL Functions
|
||||
function checkURL(){
|
||||
var getObjs = new Array();
|
||||
var getString = document.location.search.substr(1,document.location.search.length);
|
||||
if(getString != ''){
|
||||
var getArray=getString.split('&');
|
||||
for(i=0 ; i<getArray.length ; ++i){
|
||||
var v='';
|
||||
var vArr = getArray[i].split('=');
|
||||
if(vArr.length>1){ v = vArr[1]; }
|
||||
getObjs[unescape(vArr[0])]=unescape(v);
|
||||
}
|
||||
}
|
||||
|
||||
var fr = getObjectOfArray(getObjs, "fr");
|
||||
var to = getObjectOfArray(getObjs, "to");
|
||||
|
||||
if(fr != 'undefined' && to != 'undefined'){
|
||||
//From
|
||||
var fr_pos = fr.split(',');
|
||||
var fr_lonlat = new OpenLayers.LonLat(fr_pos[1],fr_pos[0]);
|
||||
setMarkerAndZoom('start', fr_lonlat);
|
||||
isStartPointSet = true;
|
||||
//To
|
||||
var to_pos = to.split(',');
|
||||
var to_lonlat = new OpenLayers.LonLat(to_pos[1],to_pos[0]);
|
||||
setMarker('end', to_lonlat);
|
||||
isEndPointSet = true;
|
||||
//Calculate the route
|
||||
routing(false);
|
||||
}
|
||||
}
|
||||
|
||||
function getObjectOfArray(objects, elementName){
|
||||
if(!objects[elementName]){ return 'undefined'; }
|
||||
return objects[elementName];
|
||||
}
|
@ -113,10 +113,18 @@ function showResultsRoute(response) {
|
||||
else{
|
||||
showRouteGeometry(response);
|
||||
}
|
||||
|
||||
//Create Link of the route
|
||||
var startFeat = getMarkerByName('start');
|
||||
var endFeat = getMarkerByName('end');
|
||||
var from = new OpenLayers.LonLat(startFeat.geometry.x,startFeat.geometry.y).transform(EPSG_900913,EPSG_4326);
|
||||
var to = new OpenLayers.LonLat(endFeat.geometry.x,endFeat.geometry.y).transform(EPSG_900913,EPSG_4326);
|
||||
var routeLink = document.URL+'?fr='+from.lat.toFixed(6)+','+from.lon.toFixed(6)+'&to='+to.lat.toFixed(6)+','+to.lon.toFixed(6);
|
||||
routeLink = '<a target=\"_blank\" href="'+routeLink+'\">Your link to the route ...</a>';
|
||||
|
||||
//Show Route Summary
|
||||
var output = '<p class="routeSummaryHL">Some information about your Way <br> from \'<span class="routeSummaryHLlight">'+response.route_summary.start_point+'</span>\' to \'<span class="routeSummaryHLlight">'+response.route_summary.end_point+'</span>\'</p>';
|
||||
output += '<p class="routeSummary">Distance: <span class="routeSummarybold">'+response.route_summary.total_distance/1000+' km</span> - Duration: <span class="routeSummarybold">'+secondsToTime(response.route_summary.total_time)+'</span></p><p class="routeInstructionsHL"> Your Route-Instructions:</p>';
|
||||
output += '<p class="routeSummary">Distance: <span class="routeSummarybold">'+response.route_summary.total_distance/1000+' km</span> - Duration: <span class="routeSummarybold">'+secondsToTime(response.route_summary.total_time)+'</span></p><p>'+routeLink+'</p><pclass="routeInstructionsHL"> The Route-Instructions:</p>';
|
||||
//Show Route Instructions
|
||||
output += '<table>';
|
||||
var lengthOfArray = response.route_instructions.length;
|
||||
|
Loading…
Reference in New Issue
Block a user