x

CloudMade Routing und OpenLayers


  1. CloudMade Routing und OpenLayers · thho (Gast) · 26.01.2012 12:11 · [flux]

    Hi,
    Frage an alle die sich schonmal über OpenLayers ivm. Cloudmade Gedanken gemacht haben.
    Ich habe eine OpenLayers Kartenanwendung, auf der über den Cloudmade Service Routen gezeichnet werden. Das ganze läuft entsprechend dem Cloudmade Beispiel so:

    function addScript(url) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
    }

    addScript('http://routes.cloudmade.com/' +
    'BC9A493B41014CAABB98F0471D759707/api/0.3/' +
    from.lat + ',' + from.lon + ',' + to.lat + ',' + to.lon +
    '/car.js?callback=getRoute');

    function getRoute(response) {
    if (response) {
    var points = [];
    for (var i = 0; i < response.route_geometry.length; i++) {
    var point = new OpenLayers.Geometry.Point(
    response.route_geometry[ i ][ 1 ],
    response.route_geometry[ i ][ 0 ]);
    points.push(point.transform(epsg4326, map.getProjectionObject()));
    }
    var geometry = new OpenLayers.Geometry.LineString(points);
    var feature = new OpenLayers.Feature.Vector(geometry, null, {
    strokeColor: "#0033ff",
    strokeOpacity: 0.7,
    strokeWidth: 5
    });
    vectors.addFeatures(feature);
    }
    }

    Jetzt mein Problem:
    Ist es irgendwie möglich beim Aufruf der Callback-Funktion "getRoute" einen zusätzlichen Parameter zu übergeben, außer den Routendaten?


    • Re: CloudMade Routing und OpenLayers · woodpeck (Gast) · 26.01.2012 21:54 · [flux]

      thho wrote:

      Ist es irgendwie möglich beim Aufruf der Callback-Funktion "getRoute" einen zusätzlichen Parameter zu übergeben, außer den Routendaten?

      Machst Du denn mehrere Route-Anfragen parallel? Wenn nicht, was spricht dagegen, den zusaetzlichen Parameter in irgendeine globale Variable (oder von mir aus auf einen Stack) zu legen und dann aus getRoute wieder abzuholen?

      Bye
      Frederik