Parse MapQuest directions
This commit is contained in:
parent
d14406cead
commit
36ee18b88e
1 changed files with 31 additions and 1 deletions
|
@ -9,6 +9,27 @@ OSM.RoutingEngines.list.push({
|
||||||
name: 'Bicycle (MapQuest Open)',
|
name: 'Bicycle (MapQuest Open)',
|
||||||
draggable: true,
|
draggable: true,
|
||||||
_hints: {},
|
_hints: {},
|
||||||
|
MQ_SPRITE_MAP: {
|
||||||
|
0: 1, // straight
|
||||||
|
1: 2, // slight right
|
||||||
|
2: 3, // right
|
||||||
|
3: 4, // sharp right
|
||||||
|
4: 5, // reverse
|
||||||
|
5: 6, // sharp left
|
||||||
|
6: 7, // left
|
||||||
|
7: 8, // slight left
|
||||||
|
8: 5, // right U-turn
|
||||||
|
9: 5, // left U-turn
|
||||||
|
10: 2, // right merge
|
||||||
|
11: 8, // left merge
|
||||||
|
12: 2, // right on-ramp
|
||||||
|
13: 8, // left on-ramp
|
||||||
|
14: 2, // right off-ramp
|
||||||
|
15: 8, // left off-ramp
|
||||||
|
16: 2, // right fork
|
||||||
|
17: 8, // left fork
|
||||||
|
18: 1 // straight fork
|
||||||
|
},
|
||||||
getRoute: function(final,points) {
|
getRoute: function(final,points) {
|
||||||
var url="http://open.mapquestapi.com/directions/v2/route?key=Fmjtd%7Cluur290anu%2Crl%3Do5-908a0y";
|
var url="http://open.mapquestapi.com/directions/v2/route?key=Fmjtd%7Cluur290anu%2Crl%3Do5-908a0y";
|
||||||
var from=points[0]; var to=points[points.length-1];
|
var from=points[0]; var to=points[points.length-1];
|
||||||
|
@ -20,6 +41,8 @@ OSM.RoutingEngines.list.push({
|
||||||
this.requestJSONP(url+"&callback=");
|
this.requestJSONP(url+"&callback=");
|
||||||
},
|
},
|
||||||
gotRoute: function(router,data) {
|
gotRoute: function(router,data) {
|
||||||
|
// *** what if no route?
|
||||||
|
|
||||||
var poly=[];
|
var poly=[];
|
||||||
var shape=data.route.shape.shapePoints;
|
var shape=data.route.shape.shapePoints;
|
||||||
for (var i=0; i<shape.length; i+=2) {
|
for (var i=0; i<shape.length; i+=2) {
|
||||||
|
@ -30,6 +53,13 @@ OSM.RoutingEngines.list.push({
|
||||||
// data.shape.maneuverIndexes links turns to polyline positions
|
// data.shape.maneuverIndexes links turns to polyline positions
|
||||||
// data.legs[0].maneuvers is list of turns
|
// data.legs[0].maneuvers is list of turns
|
||||||
console.log(data);
|
console.log(data);
|
||||||
// router.setItinerary(data.route_instructions);
|
var steps=[];
|
||||||
|
var mq=data.route.legs[0].maneuvers;
|
||||||
|
for (var i=0; i<mq.length; i++) {
|
||||||
|
var s=mq[i];
|
||||||
|
var d=(i==mq.length-1) ? 15: this.MQ_SPRITE_MAP[s.turnType];
|
||||||
|
steps.push([L.latLng(s.startPoint.lat, s.startPoint.lng), d, s.narrative, s.distance*1000]);
|
||||||
|
}
|
||||||
|
router.setItinerary( { steps: steps });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue