2016-09-29 2 views
0

Je suis en train d'essayer le nouveau Bing Maps v8. Je suis cet exemple: http://www.bing.com/api/maps/sdk/mapcontrol/isdk#directionsCreateTransitRoute+JSBing Maps v8 getRouteResult renvoie undefined

Je dois obtenir le résultat de l'itinéraire (directionsManager.getRouteResult()), mais retourne undefined.

var map = new Microsoft.Maps.Map(document.getElementById('rs-mapa-elem'), { 
    credentials: 'Your Bing Maps Key', 
    center: new Microsoft.Maps.Location(47.606209, -122.332071), 
    zoom: 12 
}); 

Microsoft.Maps.loadModule('Microsoft.Maps.Directions', function() { 
    var directionsManager = new Microsoft.Maps.Directions.DirectionsManager(map); 

    // Set Route Mode to transit 
    directionsManager.setRequestOptions({ routeMode: Microsoft.Maps.Directions.RouteMode.transit }); 

    var waypoint1 = new Microsoft.Maps.Directions.Waypoint({ address: 'Redmond', location: new Microsoft.Maps.Location(47.67683029174805, -122.1099624633789) }); 
    var waypoint2 = new Microsoft.Maps.Directions.Waypoint({ address: 'Seattle', location: new Microsoft.Maps.Location(47.59977722167969, -122.33458709716797) }); 

    directionsManager.addWaypoint(waypoint1); 
    directionsManager.addWaypoint(waypoint2); 

    // Set the element in which the itinerary will be rendered 
    directionsManager.setRenderOptions({ itineraryContainer: document.getElementById('printoutPanel') }); 
    directionsManager.calculateDirections(); 

    var route =directionsManager.getRouteResult(); 

    console.log(route); // Returns `undefined` 
}); 

Répondre

2

Vous demandez le résultat de l'itinéraire avant la fin du calcul des directions asynchrones.

Déplacez votre appel getRouteResult dans un gestionnaire pour l'événement directionsUpdated de l'objet directionsManager, comme ceci:

Microsoft.Maps.Events.addHandler(
    directionsManager, 
    'directionsUpdated', 
    function (directionsEvent) 
    { 
    var route = directionsManager.getRouteResult(); 
    }); 

Vous aurez accès aux mêmes propriétés dans l'objet directionsEvent.

+0

Ça marche. Merci beaucoup! –