我目前正在使用Google Maps API開發Web應用程序。我想同時將X條不同的路線繪製到相同的目的地。JavaScript中的TypeError,Google Maps API
如果我繪製一個,它的工作原理,但是當我使用數組(因爲我不知道最終將繪製多少路線),它向我顯示了這種類型的錯誤。計算路線時的代碼就像這樣。
var rendererOptions = [];
var directionsDisplay = [];
for (var k = 0; k < carLatLng.length; k++) {
rendererOptions[k] = {
map: map
};
directionsDisplay[k] = new google.maps.DirectionsRenderer(rendererOptions[k]);
var request = {
origin: carLatLng[k],
destination: place.geometry.location,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService = new google.maps.DirectionsService();
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay[k].setDirections(response);
} else alert('Failed to get directions');
});
}
錯誤告訴我TypeError: directionsDisplay[k] is undefined
。 (它指if()
條款裏面的那個)
希望你能幫助我。我嘗試了一些選項,但沒有一個可行。只有工作的時候我消除了環路(和陣列式)
謝謝
這可能是因爲'k'不在您的'directionsService.route'函數中定義。 – putvande
'k'絕對不是未定義的--'display [k]'未定義 –
謝謝大家。但也許我不配得分那麼多... –