我有一个带有latlang值的数组,我想绘制一个跟在这个值后面的路径。这就是我所做的,但它只会画到某个点。当我结果‘console.log’,期望绘制的对象,它打印
Uncaught Error: Error in property <routes>: (Cannot read property 'routes' of null)
function renderDirections(result) {
var directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.setMap(map);
directionDisplay.setDirections(result);
directionDisplay.setOptions({suppressMarkers: true});
}
for(var i=0; i < array.length; i++){
var marker = new google.maps.Marker({
position: new google.maps.LatLng(array[i].lat, array[i].lng),
map: map
});
var directionsService = new google.maps.DirectionsService();
directionsService.route({
origin: new google.maps.LatLng(array[i].lat, array[i].lng),
destination: new google.maps.LatLng(array[i+1].lat, array[i+1].lng),
unitSystem: google.maps.UnitSystem.IMPERIAL,
travelMode: google.maps.DirectionsTravelMode.DRIVING
},
function(result){
renderDirections(result);
});
}
发布于 2013-03-25 13:27:18
检查DirectionsService的“状态”。DirectionsService受到配额和速率限制。
directionsService.route({
origin: new google.maps.LatLng(array[i].lat, array[i].lng),
destination: new google.maps.LatLng(array[i+1].lat, array[i+1].lng),
unitSystem: google.maps.UnitSystem.IMPERIAL,
travelMode: google.maps.DirectionsTravelMode.DRIVING
},
function(result, status){
if (status == google.maps.DirectionsStatus.OK)
renderDirections(result);
else alert ("Directions request failed:"+status);
});
“未捕获TypeError:无法读取未定义属性'lat‘”的问题源于您的逻辑。当您到达最后一个方向请求时,arrayi+1不存在。试试这个:
for(var i=0; i < array.length-1; i++){
example using function closure
将多个请求串在一起的This example也可能对您有所帮助。
https://stackoverflow.com/questions/15615423
复制相似问题