X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/a997690897b765ec763631c31b9e4ca87b4e530f..73eb8a5336ea14fa1ccc6de9442125b6475bf6bb:/app/assets/javascripts/routing_engines/mapquest.js diff --git a/app/assets/javascripts/routing_engines/mapquest.js b/app/assets/javascripts/routing_engines/mapquest.js index f31a84458..dc854ccdc 100644 --- a/app/assets/javascripts/routing_engines/mapquest.js +++ b/app/assets/javascripts/routing_engines/mapquest.js @@ -1,4 +1,4 @@ -// see: +// For docs, see: // http://developer.mapquest.com/web/products/open/directions-service // http://open.mapquestapi.com/directions/ // https://github.com/apmon/openstreetmap-website/blob/21edc353a4558006f0ce23f5ec3930be6a7d4c8b/app/controllers/routing_controller.rb#L153 @@ -14,68 +14,81 @@ MapQuestEngine = function(vehicleName, vehicleParam, locale) { MapQuestEngine.prototype.createConfig = function() { var that = this; return { - name: "javascripts.directions.engines.mapquest_"+this.vehicleName.toLowerCase(), - creditline: 'Directions courtesy of MapQuest ', - draggable: false, - _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(isFinal,points) { - 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]; - url+="&from="+from.join(','); - url+="&to="+to.join(','); - url+="&"+that.vehicleParam; - //url+="&locale=" + I18n.currentLocale(); //Doesn't actually work. MapQuest requires full locale e.g. "de_DE", but I18n only provides language, e.g. "de" - url+="&manMaps=false"; - url+="&shapeFormat=raw&generalize=0"; - this.requestJSONP(url+"&callback="); - }, - gotRoute: function(router,data) { - // *** what if no route? - - var poly=[]; - var shape=data.route.shape.shapePoints; - for (var i=0; iMapQuest ', + draggable: false, + _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(isFinal,points) { + var url=document.location.protocol+"//open.mapquestapi.com/directions/v2/route?key=Fmjtd%7Cluur290anu%2Crl%3Do5-908a0y"; + var from=points[0]; var to=points[points.length-1]; + url+="&from="+from.join(','); + url+="&to="+to.join(','); + url+="&"+that.vehicleParam; + //url+="&locale=" + I18n.currentLocale(); //Doesn't actually work. MapQuest requires full locale e.g. "de_DE", but I18n only provides language, e.g. "de" + url+="&manMaps=false"; + url+="&shapeFormat=raw&generalize=0&unit=k"; + this.requestCORS(url); + }, + gotRoute: function(router,data) { + if (data.info.statuscode!=0) return false; + + var poly=[]; + var shape=data.route.shape.shapePoints; + for (var i=0; i