route geometry is requeried

This commit is contained in:
DennisSchiefer 2012-04-20 11:07:47 +01:00
parent f6a3815e91
commit 57ec4e5465

View File

@ -125,19 +125,38 @@ show: function(response) {
'</table>'; '</table>';
// init map // init map
var map = OSRM.printwindow.initialize( OSRM.DEFAULTS.TILE_SERVERS[0] ); OSRM.Printing.map = OSRM.printwindow.initialize( OSRM.DEFAULTS.TILE_SERVERS[0] );
var map = OSRM.Printing.map;
var markers = OSRM.G.markers.route; var markers = OSRM.G.markers.route;
map.addLayer( new L.MouseMarker( markers[0].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-source']} ) ); map.addLayer( new L.MouseMarker( markers[0].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-source']} ) );
for(var i=1, size=markers.length-1; i<size; i++) for(var i=1, size=markers.length-1; i<size; i++)
map.addLayer( new L.MouseMarker( markers[i].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-via']} ) ); map.addLayer( new L.MouseMarker( markers[i].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-via']} ) );
map.addLayer( new L.MouseMarker( markers[markers.length-1].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-target']} )); map.addLayer( new L.MouseMarker( markers[markers.length-1].getPosition(), {draggable:false,clickable:false,icon:OSRM.G.icons['marker-target']} ));
var route = new L.DashedPolyline();
OSRM.Printing.route = new L.DashedPolyline();
var route = OSRM.Printing.route;
route.setLatLngs( OSRM.G.route.getPositions() ); route.setLatLngs( OSRM.G.route.getPositions() );
route.setStyle( {dashed:false,clickable:false,color:'#0033FF', weight:5} ); route.setStyle( {dashed:false,clickable:false,color:'#0033FF', weight:5} );
map.addLayer( route ); map.addLayer( route );
var bounds = new L.LatLngBounds( OSRM.G.route.getPositions() ); var bounds = new L.LatLngBounds( OSRM.G.route.getPositions() );
map.fitBoundsUI( bounds ); map.fitBoundsUI( bounds );
// query better geometry
var zoom = map.getBoundsZoom(bounds);
OSRM.JSONP.call(OSRM.Routing._buildCall()+'&z='+zoom+'&instructions=false', OSRM.Printing.drawRoute, OSRM.Printing.timeoutRoute, OSRM.DEFAULTS.JSONP_TIMEOUT, 'print');
}, },
timeoutRoute: function() {},
drawRoute: function(response) {
if(!response)
return;
var geometry = OSRM.RoutingGeometry._decode(response.route_geometry, 5);
var positions = [];
for( var i=0, size=geometry.length; i < size; i++)
positions.push( new L.LatLng(geometry[i][0], geometry[i][1]) );
OSRM.Printing.route.setLatLngs( positions );
},
// open printwindow // open printwindow
print: function() { print: function() {