Javascript 谷歌地图绘制路径一直工作到某一点

Javascript 谷歌地图绘制路径一直工作到某一点,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一个带有latlang值的数组,我想画一条跟随这个值的路径。这就是我所做的,但它只是吸引到某个点。当i console.log“result”时,除了绘制的对象,它会打印 未捕获错误:属性中有错误:(无法读取null的属性“routes”) 函数呈现方向(结果){ var directionDisplay=new google.maps.DirectionsRenderer(); 方向显示.setMap(map); 方向显示。设置方向(结果); setOptions({suppressMar

我有一个带有latlang值的数组,我想画一条跟随这个值的路径。这就是我所做的,但它只是吸引到某个点。当i console.log“result”时,除了绘制的对象,它会打印

未捕获错误:属性中有错误:(无法读取null的属性“routes”)

函数呈现方向(结果){
var directionDisplay=new google.maps.DirectionsRenderer();
方向显示.setMap(map);
方向显示。设置方向(结果);
setOptions({suppressMarkers:true});
}
对于(var i=0;i
检查设备的“状态”。DirectionService受配额和费率限制

                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);
                });

“UncaughtTypeError:无法读取未定义的属性'lat'的问题”是由于您的逻辑造成的。到达上一个方向请求时,数组[i+1]不存在。试试这个:

for(var i=0; i < array.length-1; i++){
for(变量i=0;i


将多个请求串接在一起也可能会对您有所帮助。

现在它没有绘制任何路径,并给出了“未捕获类型错误:无法读取未定义属性'lat'的错误”,以及您希望我编写的警报。但它给出了一个空状态,只是打印了“请求失败的方向:”。听起来你做的不仅仅是添加状态检查。我建议的检查中有一个输入错误,但它不能解释你看到的症状。我只是添加了你写的两行额外的代码。当我对它们进行评论时,它仍然像我在问题中问到的那样绘制…”无法读取未定义的属性“lat”实际上是不相关的,它会打印它,因为它在该点完成了循环,所以这不是问题。添加状态检查后,它停止渲染路径,只会在没有状态的情况下提醒“方向请求失败”。您的“i”已超过数组的结尾。这是一个重复的问题,您可以使用函数闭包保留数组的索引值,以便调用方向服务。但是,一旦修复,您将超过\u QUERY\u限制(至少我是这样)。
for(var i=0; i < array.length-1; i++){