我有一組方向,我試圖用不同的顏色呈現。我請求谷歌的指示,但我不知道如何存儲狀態,以便當路由結果返回時,我可以渲染每個適當的顏色。將狀態傳遞給JavaScript中的子函數?
所以,作爲一個例子,我有這樣的對象:
{routes: [{start_lat : 0.0, start_lng : 0.0, end_lat : 1.0, end_lng : 1.0, color : "#ff0000"},
{start_lat : 1.0, start_lng : 1.0, end_lat : 2.0, end_lng : 2.0, color : "#00ff00"}]}
這裏是我的功能:
directionsService = new google.maps.DirectionsService();
for(var i = 0; i < routes.length; i++){
var dir_request = {
origin : new google.maps.LatLng(routes[i]['start_lat'], routes[i]['stop_lng']),
destination : new google.maps.LatLng(routes[i]['end_lat'], routes[i]['end_lng']),
travelMode : google.maps.TravelMode.WALKING
};
directionsService.route(dir_request, function(result, status) {
if(status == google.maps.DirectionsStatus.OK){
// render with custom logic depending on which route this is here
}
})
}
我怎麼能把一個狀態(例如,指數在for循環)到每個請求,以便它可以從結果處理函數中訪問?
這就是所謂的閉包,我覺得 – Markasoftware