Javascript 未捕获范围错误:使用google maps时超出了最大调用堆栈大小

Javascript 未捕获范围错误:使用google maps时超出了最大调用堆栈大小,javascript,google-maps-api-3,stack-overflow,Javascript,Google Maps Api 3,Stack Overflow,我试图用谷歌地图和标记写一个简单的例子,但我遇到了一个错误: Uncaught RangeError: Maximum call stack size exceeded js: 错误Uncaught RangeError:调用fitBounds时超出了最大调用堆栈大小通常意味着您使用无效的google.maps.LatLng对象调用了bounds.extend 这是不正确的x.lat和x.lng未定义: for (var x = 0; x < coords.length; x++) {

我试图用谷歌地图和标记写一个简单的例子,但我遇到了一个错误:

Uncaught RangeError: Maximum call stack size exceeded
js:

错误Uncaught RangeError:调用fitBounds时超出了最大调用堆栈大小通常意味着您使用无效的google.maps.LatLng对象调用了bounds.extend

这是不正确的x.lat和x.lng未定义:

for (var x = 0; x < coords.length; x++) {
    var latlng = new google.maps.LatLng(x.lat, x.lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });
    markers.push(marker);
}
它产生latlng,lat:NaN,lng:NaN

这是无效的

应该是:

for (var x = 0; x < coords.length; x++) {
    var latlng = new google.maps.LatLng(coords[x].lat, coords[x].lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });
    markers.push(marker);
}

问问自己x是什么,你得到的答案可能是,地图库无法处理这一点,并抛出一个正确的错误,这相当奇怪。我遇到了这样的情况,一个协调者有一个,而不是一个周期,导致值为NaN。在我的例子中,这确实是一个问题。谢谢你的回答。
for (var x = 0; x < coords.length; x++) {
    var latlng = new google.maps.LatLng(coords[x].lat, coords[x].lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });
    markers.push(marker);
}