2012-03-07 7 views
8

मैंने अपने आप को कुछ विकल्पों के साथ एक रूट मैनेजर बनाया (जैसे टावर टोल ट्रैवल मोड से बचें हाइवेज मार्गपॉइंट्स) और खींचने योग्य मार्ग।दिशा-निर्देशों पर रीफ्रेश वेपॉइंट्स

मैंने var lastRequest = [] को अंतिम प्रस्तुत करने से DirectionsRequest properties स्टोर करने के लिए बनाया।

कोड इस तरह दिखता है:

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     var directions = parseDirections(response, mode, tolls) 
     directionsDisplay.setDirections(response) 
    } 
}); 

google.maps.event.addListener(directionsDisplay, 'directions_changed', function() { 
    refreshReq(directionsDisplay.getDirections()) 
}) 

function refreshReq(response) 
{ 
    // 
} 

तो मेरी स्क्रिप्ट एक वेपोइंट वस्तु की दुकान और lastRequest फिर से करना करने में सक्षम होंगे मैं एक समाधान ढूँढने directions_changed मेरी lastRequest['waypoints'] एक response से नए डेटा के साथ पर ताज़ा करने के लिए अटक कर रहा हूँ किसी भी समय मैं चाहता हूँ।

कठिनाई आता है जब मैं response से वेपोइंट सरणी ले जैसे मैं

की कोशिश की जोड़ी वेरिएंट की जरूरत है:
lastRequest['waypoints'] = response['routes'][0]['legs'][0]['via_waypoints']
लेकिन यह है कि नहीं था।

अगला चरण प्रत्येक मार्ग को new google.maps.LatLng() के साथ पुन: उत्पन्न करना था, लेकिन कुछ कारणों से मैंने उन्हें eval() के साथ सरणी में धक्का देने के बाद भी काम नहीं किया।

बदले गए स्टॉपओवर को झूठी/सच में बदल दिया, अलग-अलग चीजों की कोशिश की लेकिन कुछ भी नहीं, कुछ याद आना चाहिए।

+0

से php जरूरत ताज़ा द्वारा उत्पन्न आप अपने खुद के सवाल का जवाब कृपया। बस नीचे दिए गए बॉक्स में अपना उत्तर पेस्ट करें और उत्तर के रूप में चिह्नित करें :) – hitautodestruct

+0

धन्यवाद। किया हुआ :) – qpaycm

उत्तर

1

अंक js सरणी है कि मैं via_waypoints

for (var p in req.routes[0].legs[0].via_waypoints) 
    points[p]['location'] = req.routes[0].legs[0].via_waypoints[p]