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>';
|
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){
|
function setMarkerAndZoom(markername,lonlat){
|
||||||
lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
|
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++){
|
for(var i= 0; i<dragLayer.features.length; i++){
|
||||||
if(dragLayer.features[i].name == markername){ dragLayer.removeFeatures([dragLayer.features[i]]); }
|
if(dragLayer.features[i].name == markername){ dragLayer.removeFeatures([dragLayer.features[i]]); }
|
||||||
}
|
}
|
||||||
@ -133,11 +145,6 @@ function markerzoom(markername,lonlat){
|
|||||||
|
|
||||||
point.name = markername;
|
point.name = markername;
|
||||||
dragLayer.addFeatures([point]);
|
dragLayer.addFeatures([point]);
|
||||||
|
|
||||||
//Hack - FIXME !
|
|
||||||
lonlat.lon -= 500;
|
|
||||||
//Set Center
|
|
||||||
map.setCenter(lonlat, 15);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -160,6 +160,9 @@ function init(){
|
|||||||
if (!map.getCenter()){
|
if (!map.getCenter()){
|
||||||
map.setCenter(new OpenLayers.LonLat(600000, 6600000),6);
|
map.setCenter(new OpenLayers.LonLat(600000, 6600000),6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Check if the URL contains some GET parameter, e.g. for the route
|
||||||
|
checkURL();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Helper Functions
|
//Helper Functions
|
||||||
@ -177,4 +180,42 @@ function checkReturn(textfieldname,e){
|
|||||||
function closeOpenDiv(name){
|
function closeOpenDiv(name){
|
||||||
if(document.getElementById(name).style.display == 'none'){ document.getElementById(name).style.display = ''; }
|
if(document.getElementById(name).style.display == 'none'){ document.getElementById(name).style.display = ''; }
|
||||||
else{ document.getElementById(name).style.display = 'none'; }
|
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{
|
else{
|
||||||
showRouteGeometry(response);
|
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
|
//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>';
|
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
|
//Show Route Instructions
|
||||||
output += '<table>';
|
output += '<table>';
|
||||||
var lengthOfArray = response.route_instructions.length;
|
var lengthOfArray = response.route_instructions.length;
|
||||||
|
Loading…
Reference in New Issue
Block a user